相关概念

之前在渲染UI结构时候,拼接字符串是比较麻烦的,而且很容易出现问题

模板引擎,它可以根据程序员指定的 模板结构数据,自动生成一个完整的HTML页面

好处

  • 减少了字符串的拼接操作
  • 使代码结构更清晰
  • 使代码更易于阅读与维护

art-template模板引擎

简介

art-template 是一个简约,超快的模板引擎,中文官首页: 点击前往.

安装

  • 浏览器访问 http://aui.github.io/art-template/zh-cn/docs/installation.html
  • 找到 安装 导航栏,找到下载链接,右键下载即可

基本使用

通过传统方式渲染的过程,我们了解到,动态去渲染UI的时候需要大量去拼接字符串,比较的麻烦,而且复用性也不是很好

art-template使用步骤

  • 导入 art-template

    • 在window全局,就多了一个函数,叫做 template(‘模板id’,需要渲染的数据对象)
    <script src="./lib/template-web.js"></script>
    
  • 定义数据

    var data = { name: 'zs', age: 20}
    
  • 定义模板

    • 模板的 HTML 结构,必须定义到 script 标签中,注意:需要把type属性改成 text/html
    • 给 模板 添加一个 id
    • 模板里面如果需要使用到传入的数据,利用 {{}} 来实现,例如:{{name}},那么就会去找 我们调用 template() 函数 第二个参数里面对应的name属性的值
    <script type="text/html" id="tpl-user"><h1>{{name}}    ------    {{age}}</h1>
    </script>
    
  • 调用 template 函数

    • 函数的返回值就是拼接好的模板字符串
    var htmlStr = template('tpl-user', data)
    
  • 渲染HTML结构

    • 最后我们需要把template返回的模板字符串设置到页面容器中
    现在body中添加一个div
    <div id="container"></div>
    然后渲染
    $('#container').html(htmlStr)
    

标准语法

什么是标准语法

art-template 提供了 {{}} 这种语法格式,在 {{}} 内可以进行 变量输出循环数组 等操作,这种 {{}} 语法在 art-template 中被称为标准语法

输出

在 {{}} 语法中,可以进行 变量 的输出,对象属性的输出,三元表达式输出,逻辑或输出,加减乘除等表达式输出

原文输出


如果输出的 value 值中,包含了 HTML 标签结构,则需要使用原文输出语法,才能保证HTML标签被正常渲染

条件输出

如果要实现条件输出,则可以在 {{}} 中使用 if…else if…/if 的方式,进行按需输出

循环输出

如果要实现循环输出,则可以在{{}} 内,通过 each 语法循环数组,当前循环的索引使用 $index 进行访问,当前循环项使用 $value 进行访问

过滤器

过滤器本质就是一个 function 函数

语法


过滤器语法类似于 管道操作符,它的上一个输出作为下一个输入

定义过滤器的基本语法如下:

template.defaults.imports.filterName= function(value){/* return处理的结果*/}
案例-格式化时间过滤器
  • 定义数据

    var data = { regTime: new Date() }
    
  • 定义过滤器

    // 定义处理时间的过滤器
    template.defaults.imports.dateFormat = function (date) {var y = date.getFullYear()var m = date.getMonth() + 1var d = date.getDate()return y + '-' + m + '-' + d
    }
    
  • 在模板引擎中使用过滤器

      <script type="text/html" id="tpl-user"><h3>{{regTime | dateFormat}}</h3></script>
    

js模板引擎—art-template的使用相关推荐

  1. js模板引擎art template数组渲染的方法

    转载:js模板引擎art template数组渲染的方法 JavaScript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注,模板引擎种类也是五花八门,我就说几个安全性高.错误处理调 ...

  2. js模板引擎——art Template

    简单介绍 javascript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注. artTemplate 是新一代 javascript 模板引擎,它采用预编译方式让性能有了质的飞跃, ...

  3. html jquery 模板引擎,jquery template.js前端模板引擎

    作为现代应用,ajax的大量使用,使得前端工程师们日常的开发少不了拼装模板,渲染模板 在刚有web的时候,前端与后端的交互,非常直白,浏览器端发出URL,后端返回一张拼好了的HTML串.浏览器对其进行 ...

  4. JS模板引擎sychelTemplate

    sychelTemplate 简介 0.sychelTemplate希望创造一个用户觉得"简单好用"的JS模板引擎 注:等不及可以直接点左侧导航中的"C.使用举例&quo ...

  5. js模板引擎渐进--if/else(7)

    有了 each 的经验后,要实现 if/else 这种指令就简单了-------在  case '}' 处对 varcode 进行指令的判断即可. 模板代码: {if data.value==1}&l ...

  6. php yii 模板引擎,模板引擎(Template Engines)

    使用模板引擎(Using template engines) 默认情况下,Yii 使用 PHP 作为其默认的模板引擎语言,但是,你可以配置 Yii 以扩展的方式支持其他的渲染引擎, 比如 Twig 或 ...

  7. js模板引擎 之handlebars.js

    最近在接触郑州知识库,里面使用到的技术是值得自己学习的. 该项目前端使用的是handlebars.js模板引擎框架.模板引擎框架用于数据与结构分离的思想,实现页面动态分离的效果. 1.为什么使用模板引 ...

  8. 解决laytpl.js模板引擎插件加载模板后无法获取模板中的元素id等内容

    一.问题描述 在页面中使用laytpl.js模板引擎,在页面加载后无法使用jquery获取模板中的html元素,以下是图片和代码: 在添加或修改完毕后重新加载页面,不能使用jquery获取模板中的ht ...

  9. js模板引擎渐进--后记

    至此,算是完成了一个系列了. 本来是想写的更详细的,但是太详细每次说的东西就少的可怜. 在学习的过程中,每次的改进改动博主都是复制一个新的文件进行,整个有二十多篇,中间有很多小细节的东西,集中在 ea ...

  10. js模板引擎Nunjucks

    js模板引擎Nunjucks Nunjucks中文文档

最新文章

  1. R语言ggplot2可视化多行文本轴标签、轴标签带下标、轴标签数学公式实战
  2. 你不知道的CSS单位
  3. JavaScript复制内容到剪贴板
  4. Linux下怎么确定Nginx安装目录
  5. 电缆桥架的拉挤玻璃钢材质优势
  6. java 的转义字符,在正则表达式中应用
  7. php红包平均分配,红包平均分配算法
  8. Go语言的flag库、os库、strconv库
  9. 【Python】Python调用Java jar包方式 ——Jpype使用
  10. C++的虚函数表指针vptr
  11. eclipse、xbuilder、电脑、键盘、黑峡谷常用快捷键、纽曼蓝牙耳机
  12. H2---主题:融入动画技术的交互应用
  13. vue脚手架开发 + element-UI组件 实现 增删改查
  14. 央行征信爬虫解决方案
  15. 向量的数量积,向量积,混合积及应用
  16. xingtai -斗罗大陆图片下载
  17. mac:系统存在两个Macintosh HD是怎么回事
  18. arduino u8g2 中文字 utf-8 死活不显示 问题 的解决
  19. 海思HI3751_HMS开发指南
  20. Unity学习笔记:Animator、Animator Controller、Animation Cilp之间的关系、以及Blend Tree的用法;

热门文章

  1. 数据成功插入数据库,前端页面却实现404错误 POST http://127.0.0.1:8080/user/register 404 ()
  2. 【数据结构】图的基础练习题目,及题解
  3. 高分三号卫星以及数据产品简介
  4. 下载抖音无水印视频的微信小程序
  5. 2021年数学建模国赛A题优秀论文(Word)(FAST”工作抛物面的优化设计)
  6. camtasia2018-2019-2020下载安装激活码教程,永久免费版
  7. 爬虫进阶之路---处理滑块验证码(以解决极验平台的滑动验证码为例[附带本项目源码!],通过率百分之九十以上!!!)
  8. 最简单易懂的10堂算法入门课——算法是什么
  9. 微信小程序获取点击事件的值
  10. Xshell串口连接