es6 html 模板渲染,ES6之模板渲染

模板渲染:根据模板来渲染数据!!!在ES6 中模板字符串用反引号表示。

let str = `我是字符串`;

下面进入正题:

我们先自己创建一个模板:

注意点:

1、因为模板里肯定包含js,所以我们对js特殊标记:

2、HTML在我们眼中就是字符串,所以不用包裹

3、输出的变量,我们用包裹

接下来:

先处理HTML标签:

自定义一个print方法用来拼接标签。

再处理js代码的包裹以及特殊的输出的变量的包裹:

这里我们使用正则处理:

HTML标签处理的正则:

//g

输出变量处理的正则:

//g

接下来进行拼接:

自定义一个函数用来拼接处理好的字符串

以上我们可以进行一波封装:

function renderTemplate( template_str , data ){

template_str = template_str.replace(//g ,`\`); \n $1 \n print(\`` );

template_str = template_str.replace(//g ,`\`); \n print($1) \n print(\`` );

template_str = `print(\`${ template_str }\`)`;

var fn_str = `(function( data ){

var html = "";

function print(str){

html += str

}

${template_str} // 这是刚才解析好的模板;

return html;

})`;

var temp_fn = eval( fn_str );

var res = temp_fn( data );

return res;

}

这样我们就封装好了。

最终我们就可以直接在页面渲染了!!!

原文:https://www.cnblogs.com/homeathere/p/12500668.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值