模板引擎

什么是模板引擎

可以根据程序员指定的模板结构和数据,自动生成一个完整的html即为模板引擎

模板引擎的好处

  1. 减少字符串的拼接操作
  2. 使代码更加清晰
  3. 使代码更易于阅读与维护

art-template

使用步骤

  1. 导入 art-template
  2. 定义数据
  3. 定义模板
  4. 调用template函数
  5. 渲染html结构
<body><div id="container"></div><script src="./js/template-web.js"></script><!-- 定义模板 --><script type="text/html" id="tpl-user"><h1>{{name}}+{{age}}</h1></script><script>// 定义要渲染的数据var data = {name: 'mod',age: 17};// 调用template函数var htmlStr = template('tpl-user', data);console.log(htmlStr);container.innerHTML = htmlStr;</script>
</body>

标准语法

  1. 输出:{{}}语法,在{{}}内可以进行变量输出或循环数组等操作
  2. 原文输出:若要输出的value值包含了html标签结构,则需要使用原文输出语法{{@value}}
  3. 条件输出: 如果要实现条件输出,可以在{{}}中使用if else if /if的方式
     {{if value}}输出{{else if newValue}输出new{{/if}}
    
  4. 循环输出:在{{}}内通过each语法循环数组,当前循环的索引使用$index进行访问,循环项使用$value进行访问
    {{each arr}}{{$index}} {{$value}}
    {{/each}}
    
  5. 过滤器:{{value | filterName}},过滤器语法类似管道操作符,它的上一个输出作为下一个输入;
    定义过滤器的基本语法如下:
    template.defaults.imports.filterName = function(value){//return ...}

封装一个简单的template函数

function template(id, data){var str = document.getElementById(id).innerHTML;var pattern = /{{\s*([a-zA-Z]+)\s*}}/;var result = null;while(result = pattern.exec(str)){str = str.replace(result[0], data[result[1]])}return str;
}

模板引擎template.js相关推荐

  1. js模板引擎Template.js使用详解及免费下载template.js

    这篇文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 template.js 一款 JavaScript 模板引擎, ...

  2. JavaScript模板引擎Template.js使用

    文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法.template.js 一款 JavaScript 模板引擎,简单,好用.提供一套模板语法,用户可以写一个模板区块, ...

  3. JavaScript模板引擎Template.js使用详解

    这篇文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 template.js 一款 JavaScript 模板引擎, ...

  4. JavaScript模板引擎Template.js基本使用详解

    template.js是一款JavaScript模板引擎,提供一套模板语法,简单好用,开发者可以写一个模板区块,每次传入的数据,生成对应数据产生的HTML片段,渲染不同的效果.官网:简洁语法版 htt ...

  5. JavaScript模板引擎Template.js

    template.js 一款 JavaScript 模板引擎,简单,好用.提供一套模板语法,用户可以写一个模板区块,每次根据传入的数据,生成对应数据产生的HTML片段,渲染不同的效果.https:// ...

  6. 高性能JavaScript模板引擎template.js原理解析

    点击有惊喜 artTemplate是新一代javascript模板引擎,它在v8中的渲染效率可接近javascript性能极限,在chrome下渲染效率测试中分别是知名引擎Mustache与micro ...

  7. express应用中ajax结合模板引擎ejs.js渲染页面

    一.express应用中ajax结合模板引擎ejs.js渲染页面 在views新建一个渲染模板命名 Template.ejs Template.ejs 示例: <% if(coursesList ...

  8. 前端模板引擎template之如何实现if-else、遍历

    1.先来了解一下template模板 <!doctype html> <html lang="en"> <head><meta chars ...

  9. 关于模板引擎handlebars.js基本用法

    说明:模板引擎主要针对于渲染DOM,取代了字符串拼接,用下面的代码亲测handlebars模板引擎比字符串拼接渲染DOM慢了20ms, 这里配置一个在线DEMO,简单说明下handlebars.js的 ...

  10. 模板引擎---template的简单使用

    (1)art-template的实现步骤 (1)导入template(2)定义数据(3)定义模板(4)调用template(5)渲染HTML结构 (2)模板引擎的语法 template('模板的Id' ...

最新文章

  1. canopy算法 java_mahout源码canopy算法分析之二CanopyMapper
  2. 出席国际海水稻论坛-林裕豪:从玉农业谋定陆丰稻作改良
  3. 【78.89%】【codeforces 746A】Compote
  4. AAAI 2021 | 关键词指导的神经对话模型
  5. android 摄像头预览左右镜像_OpenJDK镜像的tag说明
  6. Redis 6.0 新特性 ACL 介绍
  7. java正则表达式 ascii,是否可以检查字符串是否在Java中仅包含ASCII?
  8. 推荐下载使用:功能强大的光盘刻录软件NERO 9.0中文版(最新官方原版+有效序列号)(转)...
  9. 微波雷达感应开关,雷达感应智能模块,照明节能环保技术应用
  10. abyy a+poj1062
  11. 【BZOJ1269/1507】[AHOI2006]文本编辑器editor Splay
  12. 80后的童鞋们,还记得大明湖畔的克林顿时代吗?
  13. COMSOL有限元仿真深度指南:为结构件添加预应变
  14. H5点击图片保存本地
  15. C++简单输入输出-计算火车运行时间
  16. ant desigh of angular:让nz-tree-select与nz-tree的值保持一致
  17. 泰迪杯-数据挖掘挑战赛
  18. 串口转RS485:自动收发串口转RS485设计注意事项
  19. 对某私服页游的SQL注入安全测试
  20. mybatis分步查询与延迟加载

热门文章

  1. webstorm识别 ftl文件
  2. iOS 开发 多线程详解之线程生命周期控制
  3. 最新Chrome插件开发 api 解析
  4. 走进波分 -- 14.OSN902产品介绍
  5. nanomsg项目实战
  6. 海康大华ie插件开发
  7. SILVACO 学习笔记第一章
  8. win10虚拟机连接不上内网服务器,win10虚拟机网络设置_win10虚拟机怎么连接网络...
  9. Adobe全家桶2022版官方正版来啦~~
  10. 最新抓包工具BurpSuite2022.2.3 pj版