用法:html
Variable Tagsgit
{{name}}
用來渲染值namegithub
datas: let data = ["value": "test"] ----------- template: {{value}} a lession ----------- rendering: test a lession
Section Tagsswift
{{#items}}...{{/items}}
執行條件語句,枚舉出裏面的對象app
若是{{value}}...{{/value}}
中的value錯誤的(下面的),那麼將不會被渲染:
1. 缺乏值
2. false
3. 0
4. 字符串
5. 空集合
6. 爲NSNullless
若是value 是集合的話ide
datas: [ "friends": [ [ "name": "Hulk Hogan" ], [ "name": "Albert Einstein" ], [ "name": "Tom Selleck" ], ] ] ------------- template: {{# friends }} - {{ name }} {{/ friends }} ------------- rendering: - Hulk Hogan - Albert Einstein - Tom Selleck
上面所說的集合能夠是Arrays,ranges, sets, NSArray, NSSet等code
其餘值既不是falsey, 也不是collection,那麼這個塊就會被渲染一次:htm
datas: [ "user": [ "name": "Mario" "score": 1500 ] ] ------------- template: {{# user }} - {{ name }} - {{ score }} {{/ user }} -------------- rendering: - Mario - 1500
{{^items}}...{{/items}}
對應於上方的對立面對象
data: [ "persons": [] ] -------------- template: {{# persons }} - {{name}} is {{#alive}}alive{{/alive}}{{^alive}}dead{{/alive}}. {{/ persons }} {{^ persons }} Nobody {{/ persons }} ------------- rendering: Nobody -------------- data: [ "persons": [ ["name": "Errol Flynn", "alive": false], ["name": "Sacha Baron Cohen", "alive": true] ] ] --------------- rendering: - Errol Flynn is dead. - Sacha Baron Cohen is alive.
Partial Tags
{{>partial}}
, 嵌入其餘模塊
douc.mustanche Guests: {{# guests }} {{> person }} {{/ guests }} -------------- person.mustache {{ name }} ------------- data: [ "guests": [ ["name": "Frank Zappa"], ["name": "Lionel Richie"] ] ] -------------- rendering: Guests: - Frank Zappa - Lionel Richie
Partial Override Tags
{{<layout}}...{{/layout}}
, 模板繼承
layout.mustache // title , 和content 能夠被覆蓋 <html> <head> <title>{{$ title }}Default title{{/ title }}</title> </head> <body> <h1>{{$ title }}Default title{{/ title }}</h1> {{$ content }} Default content {{/ content }}} </body> </html> --------------- article.mustuche: {{< layout }} {{$ title }}{{ article.title }}{{/ title }} {{$ content }} {{{ article.html_body }}} <p>by {{ article.author }}</p> {{/ content }} {{/ layout }} --------------- data: [ "article": [ "title": "The 10 most amazing handlebars", "html_body": "<p>...</p>", "author": "John Doe" ] ] ---------------- rendering: <html> <head> <title>The 10 most amazing handlebars</title> </head> <body> <h1>The 10 most amazing handlebars</h1> <p>...</p> <p>by John Doe</p> </body> </html>
{{$ title }}...{{/ title }}
每次都會被渲染,而且只被渲染一次, no boolean checks, no collection iteration.
一個模板能夠包含不少partial override tags
避免循環
Set Delimiters Tags
{{=<% %>=}}
, 讓你改變標籤分隔符。Comment Tags
{{! Wow. Such comment. }}
, 註釋paragma Tags
{{% CONTENT_TYPE:TEXT }} {{% CONTENT_TYPE:HTML }}