mustache.js的使用说明

Posted michael_yqs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mustache.js的使用说明相关的知识,希望对你有一定的参考价值。

Mustache 是个不错的js模板引擎,源码:https://github.com/janl/mustache.js

mustache的一些说明:http://mustache.github.com/mustache.5.html

下面是自己总结的一些小说明

1、简单的变量替换name

     eg:var data="name":"Jhon";
            var output= Mustache.render("name is awsome",data);
            console.log(output);//Jhon is awsome.
2、若是变量中含有html代码,而又不想转义的,在变量前面加上&即可。&name
3、变量是对象时,还可以声明其属性:
    eg:var data = "name":
                              "first":"Willy",
                              "last":"John"
                         ,
               "age":"18";

            var output=Mustache.render("name.first name.last is age  years old.",data);
            console.log(output);//Willy Jhon is 18 years old.
4、#param标签的功能很强大,有if判断、foreach的功能
     eg1://判断
   
 var data = 
              "nothin":true
           ;
            var output = Mustache.render(
                    "Shown.#nothinNever shown!/nothin", data);
             console.log(output);//Shown.Never shown!

eg2:迭代
  var data = 
     "stooges":[ "name" : "Moe" ,
                    "name" : "Larry",
                   "name" : "Curly"
                   ]
        ;var output = Mustache.render("#stooges       name       /stooges",data);
console.log(output);//     Moe              Larry              Curly   

     
      若迭代的是数组,还可以通过.来调换每个元素
      eg3://数组迭代
     
 var data = 
             "musketeers":[ "Athos", "Aramis", "Porthos", "D","Artagnan" ]
         ;
        var output = Mustache.render("#musketeers   * .     /musketeers",
                 data);
         console.log(output);// * Athos * Aramis * Porthos * D * Artagnan


5、迭代输出还可以是一个function返回的结果:
var data = 
            "beatles" : [ 
                "firstName" : "John",
               "lastName" : "Lennon"
            , 
                "firstName" : "Paul",
                "lastName" : "McCartney"
             ],
            "name" : function() 
                return this.firstName + " " + this.lastName;
            
         ;
var output = Mustache.render("#beatles *name        /beatles", data);
console.log(output);//*John Lennon *Paul McCartney

6、^与#相反,若变量是null、undefined、 false、和空数组则执行相应操作,相当于提供了一个错误处理机制
#repo
  <b>name</b>
/repo
^repo
  No repos :(
/repo

7、 !  注释
8、包含
base.mustache:
<h2>Names</h2>
#names

 
 > user
/names
user.mustache:
<strong>name</strong>    

上述代码等价于:
<h2>Names</h2>
#names
  <strong>name</strong>
/names



以上是关于mustache.js的使用说明的主要内容,如果未能解决你的问题,请参考以下文章

Js模板引擎mustache

Mustache 使用说明

Mustache 使用总结

mustache.js 使用

mustache.js 数组循环的索引

html 使用mustache.js