标签:
来源:http://idangero.us/template7/#.V2iXqJGF6Ul
测试用json数据:
var jsonData = { people: [ { firstName: ‘John‘, lastName: ‘Doe‘ }, { firstName: ‘Mark‘, lastName: ‘Johnson‘ }, ], title: "this is a test title", preKey: "full name" };
template7支持下面的语法:
变量:
{{title}}:输出当前上下文对象下的title字段
{{../title}}:输出当前上下文对象的父级对象下的title字段
{{../../title}}:输出当前上下文对象向上推两级的对象下的title字段
{{this}}:当前上下文对象
{{person.name}}:输出在当前上下文中的“人”变量的“名称”属性
{{../person.name}}:输出在当前上下文的 父级对象 中的“人”变量的“名称”属性
块表达式:
{{#each}} :循环开始
{{/each}}:结束循环
{{if}}:条件判断
{{else}}:不满足条件判断执行块
{{#each reverse="true"}} - begin of block expression with passed reverse:true hash arguments,暂没用过,也没翻译
编辑和渲染:
template7是全球可用的窗口函数。
首先,我们需要提供字符串模板。例如,我们可以存储在脚本标签中。
下面一个例子:每一步注释都写的很清楚了。
@*引入js*@ <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script src="~/Scripts/Template7-1.1.0/src/template7.js"></script> <script> $(function () { //测试用json数据 var jsonData = { people: [ { firstName: ‘John‘, lastName: ‘Doe‘ }, { firstName: ‘Mark‘, lastName: ‘Johnson‘ }, ], title: "this is a test title", preKey: "full name" }; //获取模板 var template = $(‘#template‘).html(); // 编译模板 var compiledTemplate = Template7.compile(template); // 使用模板加载数据 var htmlStr = compiledTemplate(jsonData); //将得到的结果输出到指定区域 $("#contents").html(htmlStr); }); </script> @*模板的 type指定为 text/template7 *@ <script type="text/template7" id="template"> <p>{{title}}</p> <ul> {{#each people}} <li>{{../preKey}}:{{firstName}} {{lastName}}</li> {{/each}} </ul> </script> <div id="contents"></div>
内置函数:
{{join myArray delimiter=", "}}:把数组 myArray 的每个元素使用逗号“,”拼接到一起。只为数组
{{@index}}:在循环中,获得序号,从0开始。只为数组
@first:循环中的第一个项。只为数组
@last:循环中的最后一个项。只为数组
@key:当前对象属性的名称。只为对象
标签:
原文地址:http://www.cnblogs.com/xsj1989/p/5603685.html