利用art-template模板引擎,处理响应数据渲染

1.什么是处理响应数据渲染

就是服务端响应数量庞大,我们用原生的DOM操作一个个渲染到文档相当麻烦,这时候我们就会用数据渲染的模板引擎,只要我们给它数据和模板,就能快速渲染到文档中,省下许多DOM操作的代码。

2.模板引擎的使用步骤

  1. 选择一个模板引擎
  2. 下载模板引擎JS文件
  3. 引入到页面中
  4. 准备一个模板
  5. 准备一个数据
  6. 通过模板引擎的JS提供的一个函数将模板和数据整合得到渲染结果HTML
  7. 将渲染结果的HTML 设置到 默认元素的 innerHTML 中

3.如何准备一个模板

模板准备有两种方式:

1.在JS变量中写模板,不推荐(原因:如果将模板写到JS中,维护不方便,不能换行,没有颜色区分)。

2.使用script标签写模板,推荐(script标签内容不会显示在界面)。
最重要的是:
如果script标签 type 不等于 text/javascript 的话,内部的内容不会作为 JavaScript 执行,所以使用模板引擎我们的script标签的type会写text/x-art-template,x代表自定义,art-template的是我们使用的模板名称。

4.art-template的介绍

art-template 是一个简约、超快的模板引擎。

5.使用art-template将数据渲染到页面案例

注意:这些数据都是我从本地服务端请求的数据

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <!-- 引入art-template -->
    <script src="./template-web.js"></script>
</head>

<body>
    <table id="demo" border="1" cellpadding='10' cellspacing='0'></table>
    <!-- 准备一个模板 -->
    <script type="text/x-art-template" id="tmpl">
        {{each comments}}
        <!-- each 内部 $value 拿到的是当前被遍历的那个元素 -->
        <tr>
          <td>{{$value.author}}</td>
          <td>{{$value.content}}</td>
          <td>{{$value.created}}</td>
        </tr>
        {{/each}}
    </script>
    <script>
        var xhr = new XMLHttpRequest();
        xhr.open('GET', '15test.php');
        xhr.send();
        xhr.onreadystatechange = function () {
            if (this.readyState !== 4) return;
            var res = JSON.parse(this.responseText);
            // 模板所需数据
            var context = {
                comments: res.data
            };
            // 借助模板引擎的API 渲染数据
            var html = template('tmpl', context);
            document.getElementById('demo').innerHTML = html;
        };
    </script>
</body>

</html>

再配上一张数据渲染之后的图片:
在这里插入图片描述

6.art-template下载地址

art-template下载地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值