我有一个简单/初学者的问题,在我的应用程序中使用小胡子模板(或更准确地说是Hogan).我使用的API有时会返回一个String,有时会返回一个字符串数组.
我知道可以将String包装在单个元素数组中,但是还有一种方法可以从胡子模板中处理这个选项吗?
使用普通部分
{{#stringOrArray}}
<li>{{.}}</li>
{{/stringOrArray}}
如果只是一个字符串,则不会打印该值.
Jez*_*ral 13
我知道有点晚了,但这是我用的:
{{#test.length}}
{{#test}}<li>{{.}}</li>{{/test}}
{{/test.length}}
{{^test.length}}
<li>{{test}}</li>
{{/test.length}}
Run Code Online (Sandbox Code Playgroud)
这就像功能检测.第一个代码块检查测试是否有一个长度,如果是,它是一个数组(是的,我知道字符串也应该有一个长度属性,但它们没有).它将输出数组(如果它是一个数组),或者什么都不输出(如果不是).第二个块打印出test的值,如果它没有长度(即它是一个字符串或整数等)这意味着你可以使用它:
var data = {
test: "test1"
}
Run Code Online (Sandbox Code Playgroud)
要么
var data = {
test: [ "test1", "test2", "test3" ]
}
Run Code Online (Sandbox Code Playgroud)
无需设置是否为数组的标志.胡子会为你解决问题.
| 归档时间: |
|
| 查看次数: |
6228 次 |
| 最近记录: |