Mustache.js構文

6453 ワード

Mustacheのgithubを見て、この中の文法を学んで、メモをします
1.簡単な変数変換:{name}}
1 var data = { "name": "Willy" };

2 Mustache.render("{{name}} is awesome.",data);

結果を返します
2.変数にhtmlのコードが含まれている場合、例えば、
、など、エスケープしたくない場合は{&name}}
1 var data = {

2 "name" : "<br>Willy<br>"
3 };
4 var output = Mustache.render("{{&name}} is awesome.", data);
5 console.log(output);

成果:
Willy
is awesome.
「&」を除いた成果は,<br>Willy<br> is awesome.(デフォルトでは「<」と「>」がエスケープされます)
3.対象であれば、その属性を明らかにすることもできる
 1 var data = {

2 "name" : {
3 "first" : "Chen",
4 "last" : "Jackson"
5 },
6 "age" : 18
7 };
8 var output = Mustache.render(
9 "name:{{name.first}} {{name.last}},age:{{age}}", data);
10 console.log(output);

成果:name:Chen Jackson,age:18
4.{#param}}このラベルは非常に強力で、if断定、forEachの機能があります.
 
1 var data = {

2 "nothin":true
3 };
4 var output = Mustache.render(
5 "Shown.{{#nothin}}Never shown!{{/nothin}}", data);
6 console.log(output);

nothinが空かnullかfalse都邑出力Shownなら.反対はショーンですNever shown!.
5.反復
 1 var data = {

2 "stooges" : [ {
3 "name" : "Moe"
4 }, {
5 "name" : "Larry"
6 }, {
7 "name" : "Curly"
8 } ]
9 };
10 var output = Mustache.render("{{#stooges}}<b>{{name}}</b>{{/stooges}}",
11 data);
12 console.log(output);

出力:Moe
        Larry
        Curly
6.反復が配列であれば、まだ{.}}各要素を入れ替える
1 var data = {

2 "musketeers" : [ "Athos", "Aramis", "Porthos", "D""Artagnan" ]
3 };
4 var output = Mustache.render("{{#musketeers}}* {{&.}}{{/musketeers}}",
5 data);
6 console.log(output);

出力:*Athos
        * Aramis
        * Porthos
        * D""Artagnan
7.反復出力は、functionが返す結果として、functionは、現在の変数の高低文を読み出して、他の属性を取得して他の操作を実行することができる
 1 var data = {

2 "beatles" : [ {
3 "firstName" : "John",
4 "lastName" : "Lennon"
5 }, {
6 "firstName" : "Paul",
7 "lastName" : "McCartney"
8 }, {
9 "firstName" : "George",
10 "lastName" : "Harrison"
11 }, {
12 "firstName" : "Ringo",
13 "lastName" : "Starr"
14 } ],
15 "name" : function() {
16 return this.firstName + " " + this.lastName;
17 }
18 };
19 var output = Mustache
20 .render("{{#beatles}} *{{name}}{{/beatles}}", data);
21 console.log(output);

出力:*John Lennon
         *Paul McCartney
         *George Harrison
         *Ringo Starr
8:方法の中で更に変数の中の表現式を履行することができます
 1 var data = {

2 "name" : "{{age}}" + "Tater",
3 "bold" : function() {
4 return function(text, render) {
5 console.log(text);
6 return "<b>" + render(text) + "</b>";
7 };
8 },
9 "age" : 18
10 };
11 var output = Mustache.render("{{#bold}}Hi {{name}}.{{/bold}}", data);
12 console.log(output);

出力結果:
Hi {{age}}Tater.
Hi 18Tater.
9.{{^}}は{#}}とは逆に変数がnull,undefined、 false、 であれば
10.{{! }}見つめる
 
 
 
原文アドレスhttp://www.mysjtu.com/page/M0/S733/733819.html