-
Notifications
You must be signed in to change notification settings - Fork 188
模板语法
aui edited this page May 31, 2013
·
13 revisions
{{
与 }}
符号包裹起来的语句则为模板的逻辑表达式。
对内容编码输出:
{{content}}
编码可以防止数据中含有 HTML 字符串,避免引起 XSS 攻击。
不编码输出:
{{echo content}}
{{if admin}}
{{content}}
{{/if}}
{{if user === 'admin'}}
{{content}}
{{else if user === '007'}}
<strong>hello world</strong>
{{/if}}
无论数组或者对象都可以用 each 进行遍历。
{{each list}}
<li>{{$index}}. {{$value.user}}</li>
{{/each}}
其中 list 为要遍历的数据名称, $value
与 $index
是系统变量, $value
表示数据单条内容, $index
表示索引值,这两个变量也可以自定义:
{{each list as value index}}
<li>{{index}}. {{value.user}}</li>
{{/each}}
用于嵌入子模板。
{{include './demo'}}
还可以传入指定的数据到字模板:
{{include './demo' data}}
为了让编译工具能够进行静态分析,需要如下约定:
- 路径无需带后缀名
- 路径不能够进行字符串运算
- 路径不能使用变量
以下三种写法都是错误的:
-
{{include './index.html'}}
路径不能带后缀名 -
{{include '.' + '/idnex'}}
路径不能够进行字符串运算 -
{{include value}}
路径不能使用变量
语法定义文件在 ./lib/template-syntax.js 中,可自行修改