用法: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 }}