经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » HTML5 » 查看文章
前端常用模板引擎- artTemplate
来源:cnblogs  作者:壮壮~  时间:2021/5/24 10:51:10  对本文有异议

  我们在用H5+Css3布局页面的时候,通过接口展示数据到页面的时候,如果数据少还好,有时候ul -> li有多个的时候  只能循环接口返回的数据然后一个一个去展示。

  前段时间在无意中学习到一个新东西 art-template 前端模板引擎 这个东西可以像vue展示数据一样很方便的进行数据展示  还有一个叫 thymeleaf  (我还没用过)

  1.介绍

  1. art-template 是一个简约、超快的模板引擎。它采用作用域预声明的技术来优化模板渲染速度,从而获得接近 JavaScript 极限的运行性能,并且同时支持 NodeJS 和浏览器。
  2. 使用art-template也便于维护代码,以前我们进行数据渲染的时候是通过字符串拼接然后再通过append的方式追加到数据源id上,现在只需要在html页面中写循环就可以实现了。

  2. 安装

  1.直接去官网下载或者点击这个链接    https://unpkg.com/art-template@4.13.2/lib/template-web.js

   2.npm安装

     npm install art-template --save-dev

  1.  3.语法
     
    1.
    art-template 支持标准语法与原始语法。标准语法可以让模板易读写,而原始语法拥有强大的逻辑表达能力。
      2. 标准语法支持基本模板语法以及基本 JavaScript 表达式;原始语法支持任意 JavaScript 语句,这和 EJS 一样
  1.   下面只说标准语法
    输出用 {{}}
  1. {{value}}
  2. {{data.key}}
  3. {{data['key']}}
  4. {{a ? b : c}}
  5. {{a || b}}
  6. {{a + b}}

 

  1. 条件判断 {{if}} ... {{/if}}
  1. {{if value}} ... {{/if}}
  2. {{if v1}} ... {{else if v2}} ... {{/if}}

 

  1. 循环语法
      第一种 {{each datalit value i}} ... {{/each}} ** value i 的位置不能互换
  1. {{each datalist value i}}
  2. {{i + 1}} {{value}}
  3. {{/each}}
  1.   第二种 {{each datalist}} ... {{/each}}
  1. {{each datalist}}
  2. {{$index}} {{$value}}
  3. {{/each}}

  1. 4.案例
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. <script src="template-web.js"></script>
  8. </head>
  9.  
  10. <body>
  11. <div id="content"></div>
  12. <script type="text/html" id="test"> // type="text/html"的模板 id用于在js中将数据与模板做关联
            // 语法中的第一个 数据展示 ---- {{}}
  13. <h1>{{ title }}</h1>
  14. // 语法中的循环两种写法
  15. <ul>
  16. {{ each list value i }}
  17. <li>索引 {{i+ 1 }}: {{ value }}</li>
  18. {{ /each }}
  19. {{ each list }}
  20. <li>索引 {{$index+1}}: {{$value}} </li>
  21. {{ /each }}
  22. </ul>
  23. <ul>
              // 语法中的 if 判断
  24. {{if c== 100}}
  25. <ul>
  26. {{each person}}
  27. <li>
  28. 编号:{{$index+1}} -- 姓名: {{$value.name}} -- 年龄: {{ $value.age}}
  29. </li>
  30. {{/each}}
  31. </ul>
  32. {{/if}}
  33. </ul>
  34. </script>
  35.  
  36. <script>
  37. var data = {
  38. title: 'hello world',
  39. list: ['文艺', '博客', '摄影', '电影', '明耀', '旅行', '吉他'],
  40. c: 100,
  41. person: [
  42. {name: 'jack', age: 18},
  43. {name: 'tom', age: 19},
  44. {name: 'jerry', age: 20},
  45. {name: 'kid', age: 21},
  46. {name: 'jade', age: 22}
  47. ]
  48. };
  49. var html = template('test', data); // test是上边的模板 data是要用于展示的数据
  50. document.getElementById('content').innerHTML = html; // 通过id选择器获取元素 把模板展示的位置
  51. </script>
  52. </body>
  53.  
  54. </html>

 

  1. 看看效果吧

 

  1. 自我感觉还是很方便,很实用的一个模板,大家有机会可以试试


  1.  

 

原文链接:http://www.cnblogs.com/gsz0420/p/14780021.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号