zoukankan      html  css  js  c++  java
  • mustache.js使用基本(二)sections

    作者:zccst

    本文记录基本使用二,主要讲sections。

    {{#person}} {{/person}}
    1,当person是null, undefined, false, 0, NaN, "", [], 空列表时不渲染


    2,当person不空时渲染一次或多次。如果其中某一些为空,则改行略过,其他行正常。
    var template = '{{#beatles}}* {{name}} <br/>{{/beatles}}';
    var obj = {
        "beatles": [
            { "firstName": "John", "lastName": "Lennon" },
            { "firstName": "Paul", "lastName": "McCartney" },
            { "firstName": "George", "lastName": "Harrison" },
            { "firstName": "Ringo", "lastName": "Starr" }
        ],
        "name": function () {
            console.log(this,this===obj);//结论:由于循环的是beatles,所以this指向的是beatles,而不是obj。
            return this.firstName + " " + this.lastName;
        }
    }

    var rendered = Mustache.render(template,obj);
    $('#target').html(rendered);


    3,相反,就是输出空,仅在 section标签是null, undefined, false, 空list时
    用{{^section}} 替换 {{#section}}

    var template = '{{#repos}}<b>{{name}}</b>{{/repos}} {{^repos}}No repos :({{/repos}}';
    var obj = {
    "repos": []
    }
    var rendered = Mustache.render(template,obj);
    $('#target1').html(rendered);

    4,特殊情况:数组,里面每一项都是字符串时,可以用点代替

    var template = '{{#musketeers}}* {{.}} <br/>{{/musketeers}}';
    var obj = {
        "musketeers": ["Athos", "Aramis", "Porthos", "D'Artagnan"]
    }

    var rendered = Mustache.render(template,obj);
    $('#target').html(rendered);

    5,function

    var template = '{{#bold}}Hi {{name}}.{{/bold}}';
    var obj = {
        "name": "Tater",
        "bold": function () {
            return function (text, render) {
                return "<b>" + render(text) + "</b>";//text是Hi {{name}}.render是原生函数
            }
        }
    }

    var rendered = Mustache.render(template,obj);
    $('#target').html(rendered);

    <div id="target">Loading...</div>

  • 相关阅读:
    關於遍歷頁面所有控件的方法 空间
    Java中super的几种用法并与this的区别
    vs2010 未能正确加载方案中的一个或多个项目
    【ASP.NET】从服务器端注册客户端脚本
    sqlserver access 多数据库操作
    水晶報表中小寫變大寫的函數-VB
    RegularExpressionValidator 常用
    【转】改善C#程序的建议2:C#中dynamic的正确用法 空间
    转】VB中Set的用法
    C#索引器
  • 原文地址:https://www.cnblogs.com/zccst/p/3760230.html
Copyright © 2011-2022 走看看