码迷,mamicode.com
首页 > 其他好文 > 详细

Template7学习记录

时间:2016-06-21 15:28:04      阅读:3836      评论:0      收藏:0      [点我收藏+]

标签:

来源: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:当前对象属性的名称。只为对象



 

 

 

 

 

 

Template7学习记录

标签:

原文地址:http://www.cnblogs.com/xsj1989/p/5603685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!