art-template模板浅析

js的模板引擎有很多。art-template模板是腾讯出的,收藏了两篇文章,讲的比较系统,简单来说就是一个数据和页面的拼接渲染模板,用于前端将从后台接口请求到的数据和html页面进行拼接渲染,而不是使用字符串拼接页面的方式渲染。

具体跟 Vue、React 这些前端主流框架比较的性能,官方并未给出数据,但是我认为只比较页面渲染能力的话,应该相差不多, Vue、React 是一整套的前端解决方案,而 art-template 只是一个 js模板引擎,二者定位和功能不同,不做详细比较,猜测 art-template 同样是使用虚拟 DOM 的方式进行页面渲染,否则能达到这样的性能,着实不容易。就学习而言,如果学习过 Vue、React,学这个非常简单,反过来学会 art-template 对学习 Vue、React也有一定帮助。

简单使用:
1.引入js文件(省略)
2.写模板(通过id的名字匹配)

<script id="art-template" type="text/html">
<table>
   /******/
    <tbody>
        {{each classInfoList}}
        <tr>
            <td>{{$index+1}}</td>
            <td>{{$value.Id}}</td>
            <td>{{$value.Name}}</td>
            <td>{{$value.Teacher}}</td>
            <td>{{$value.Remark}}</td>
            <td>
                <a href="{{$value.Uri}}">删除</a>
            </td>
        </tr>
        {{/each}}
    </tbody>
</table>
</script>

3.模板拼接

var datas = {
    title: "",
    classInfoList: []
}
$.ajax({
    type: "GET",
    dataType:"JSON",
    url: "/ClassHandler.ashx",
    success: function (data) {
        //原生JS序列化JSOn
        //datas.classInfoList = JSON.parse(data).classInfoList;
        datas.classInfoList = data.classInfoList;
        datas.title =data.title;
        html = template("art-template", datas);
        document.getElementById('app').innerHTML = html;
    }
})

链接:[https://www.jianshu.com/p/d8d8e19157e0]
[https://blog.csdn.net/ruisenLi/article/details/88410830]
ps.后端开发好像都不太擅长页面渲染和页面跳转。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值