Art-Template模板引擎(原生写法与简洁写法)
<script type="text/template" id="childTemplate">
<tr><td colspan="5"><%=name%>我是子模版</td></tr>
</script>
<script type="text/template" id="template">
<% include('childTemplate',{'name':'xgg'}); %>
<% var console = getConsole(); %>
<% console.log('我使用了全局变量'); %>
<% for(var i = 0 ; i < list.length ; i ++){ %>
<% var item = list[i]; %>
<tr>
<td><%=i+1%></td>
<td><%=item.username%></td>
<td><%=item.password%></td>
<td><%=item.age%></td>
<td><%=item.sex%></td>
</tr>
<% } %>
</script>
<script src="js/jquery.min.js"></script>
<script src="js/template-native.js"></script>
<script>
/*1.准备数据*/
var data = [
{"username":"<span style='color:red'>xgg1</span>","password":"123456","age":18,"sex":"男"},
{"username":"xgg2","password":"123456","age":18,"sex":"男"},
{"username":"xgg3","password":"123456","age":18,"sex":"男"}
];
/*2.把数据转化成html格式的字符串 使用模版引擎 artTemplate 原生语法 */
/*2.1 下载 https://github.com/aui/art-template */
/*2.2 引入在当前页面 template-native.js 原生语法的js文件*/
/*2.3 怎么使用模板引擎*/
/*2.3.1 创建模版 在html页面创建 <script type='text/template'><\/script> */
/*2.3.2 把数据使用在模版当中*/
/*2.3.3 有两个参数 第一个参数 模版的ID 第二个参数 数据(特殊要求:必须是对象{})*/
/*2.3.4 返回的内容是什么 是html格式的字符串*/
/*2.3.5 注册模版内部能使用的函数 var a = function(){} {getConsole:function(){}}*/
/*2.3.6 两个参数 第一个参数 方法的名称 第二个参数 方法名对应的函数 */
template.helper('getConsole',function(){
return console;
}); var html = template('template',{list:data});
/*3.渲染*/
$('tbody').html(html);
</script>
<!--
1.简洁语法的模版 使用简洁的语法
2.{{ 写简洁语法 }}
3. each 需要遍历的数据 默认的 索引和索引对应的数据 使用默认变量 $index $value
4. {{each model as item i }} 自己指定 索引和对应数据的 变量名称
5. {{if}}
6. 导入 {{ include 'childTemplate'}} 注意 最后的地方(}})不能有空格
-->
<script type="text/template" id="childTemplate">
<tr><td colspan="5">我是子模版</td></tr>
</script>
<script type="text/template" id="template"> {{ include 'childTemplate'}} {{each model}}
<tr>
<td>{{$index+1}}</td>
<td>{{$value.username}}</td>
<td>{{$value.password}}</td>
<td>{{$value.age}}</td>
<td>{{$value.sex}}</td>
</tr>
{{/each}} {{each model as item i }}
<tr>
<td>{{if i == 2}} <b>0</b> {{/if}}</td>
<td>{{item.username}}</td>
<td>{{item.password}}</td>
<td>{{item.age}}</td>
<td>{{item.sex}}</td>
</tr>
{{/each}}
</script>
<script src="js/jquery.min.js"></script>
<script src="js/template.js"></script>
<script>
/*1.准备数据*/
var data = [
{"username":"xgg1","password":"123456","age":18,"sex":"男"},
{"username":"xgg2","password":"123456","age":18,"sex":"男"},
{"username":"xgg3","password":"123456","age":18,"sex":"男"}
];
/*2.把数据转化成html格式的字符串 使用模版引擎 artTemplate 简洁语法 */
/*2.1 引入js文件 template.js 简介语法的文件*/
/*2.2 准备模版 */
/*2.3 调用解析方法*/
var html = template('template',{model:data});
/*3.渲染*/
$('tbody').html(html);
</script>
Art-Template模板引擎(原生写法与简洁写法)的更多相关文章
- Django基础,Day10 - template 模板引擎与路径设置
作为一个Web框架,Django需要一个方便的方式来生成动态的HTML.最常见的方法依赖于模板.模板包含所需的HTML输出的静态部分以及一些特殊的语法描述如何插入动态内容. Django框架后端默认支 ...
- php模板引擎
http://baike.baidu.com/link?url=HmXfdJBv3zpCdnZPeaSmZmqDBHlyTBnz9Rmb5it-jf1_NLHfaku6_i8ssUYbnaTQEBD4 ...
- art template前端模板引擎
偶然看到后台有一段代码 采用的是art template的模板引擎 地址为 http://aui.github.io/artTemplate/ 这段代码很简洁 var html = template( ...
- JavaScript模板引擎Template.js使用详解
这篇文章主要为大家详细介绍了JavaScript模板引擎Template.js使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 template.js 一款 JavaScript 模板引 ...
- 前后端数据交互处理基于原生JS模板引擎开发
json数据错误处理,把json文件数据复制到----> https://www.bejson.com/ 在线解析json 这样能直观的了解到是否是json数据写错,在控制台打断点,那里错误打那 ...
- 原生twig模板引擎详解(安装使用)
最近在学习SSTI(服务器模板注入),所以在此总结一下 0x00 Twig的介绍 什么是Twig? Twig是一款灵活.快速.安全的PHP模板引擎. Twig的特点? 快速:Twig将模板编译为纯粹的 ...
- 如何选择Javascript模板引擎(javascript template engine)?
译者 jjfat 日期:2012-9-17 来源: GBin1.com 随着前端开发的密集度越来越高,Ajax和JSON的使用越来越频繁,大家肯定免不了在前台开发中大量的使用标签,常见到的例子如下: ...
- jquery template.js前端模板引擎
作为现代应用,ajax的大量使用,使得前端工程师们日常的开发少不了拼装模板,渲染模板 在刚有web的时候,前端与后端的交互,非常直白,浏览器端发出URL,后端返回一张拼好了的HTML串.浏览器对其进行 ...
- 腾讯模板引擎template
template.js是一款JavaScript模板引擎,用来渲染页面的. 原理:提前将Html代码放进编写模板 script id="tpl" type="text/ ...
随机推荐
- Oracle 学习笔记 12 -- 序列、索引、同义词
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/Topyuluo/article/details/24232449 数据库的对象包含:表.视图.序列. ...
- BC#29A:GTY's math problem(math) B:GTY's birthday gift(矩阵快速幂)
A: HDU5170 这题让比较a^b与c^d的大小.1<=a,b,c,d<=1000. 显然这题没法直接做,要利用对数来求,但是在math库中有关的对数函数返回的都是浮点数,所以这又要涉 ...
- mariadb多源复制 muiltil source replication
环境:centos-6.5 Mariadb:10.1.13-MariaDB 多源复制:企业数据库中写的需求较大,以至于I/O负载比较大,那么就必须把写的操作分摊到多台主服务器上进行,然后在将 ...
- k8s-离线安装coreos
1.安装准备 下载iso 前往页面https://coreos.com/os/docs/latest/booting-with-iso.html 版本:stable 1465.7.0 日期:2017. ...
- 404 Not Found 探秘Nginx转发处理流程
一.问题描述 访问一个链接地址后报404 Not Found nginx/1.10.2 1 112.95.211.154 - - [08/Mar/2018:15:22:21 +0800] " ...
- java泛型的实现原理
java泛型的实现原理是类型擦除.Java的泛型是伪泛型.在编译期间,所有的泛型信息都会被擦除掉. Java中的泛型基本上都是在编译器这个层次来实现的.在生成的Java字节码中是不包含泛型中的类型 ...
- c++ 跳转语句块
p170~p172:跳转语句:1.break:对while for switcho有效!2.continue:中断当前迭代,但是循环还要继续.因此对while for有效,对switch无效!3.go ...
- STC12C系列单片机PWM脉宽调制
最近给别人做了一个小东西,MCU选的是STC12C5A60S2 ,需要用到PWM控制功能. 在网上找了一下,发现解释的不尽人意,无奈之下自己琢磨数据手册弄明白了. 首先,STC12C5A60S2内置有 ...
- Promise原理剖析
传统的异步回调编程最大的缺陷是:回调地狱,由于业务逻辑非常复杂,代码串行请求好几层:并行请求以前也要通过引用step.async库实现.现在ES6推出了Promise,通过Promise的链式调用可以 ...
- 同一个tomcat启动多个实例
一般在使用Tomcat时,服务器会从conf及webapps目录中读取配置文件,并将文件写入logs.temp和work目录,当然一些jar文件和class文件需要从服务器的公共目录树中予以加载.因此 ...