mustache - 如何处理 mustache 模板中的字符串或字符串数​​组

标签 mustache hogan.js

对于在我的应用程序中使用 mustache 模板(或更准确地说是Hogan),我有一个简单/入门的问题。
我使用的API有时会返回一个字符串,有时会返回一个字符串数组。

我知道可以将String包裹在一个单元素数组中,但是还有一种方法可以处理 mustache 模板中的这种可选性吗?

使用正常的部分,例如{{#stringOrArray}} <li>{{.}}</li> {{/stringOrArray}}如果它只是一个字符串,则不打印该值。

最佳答案

我知道已经有点晚了,但是这是我使用的方法:

{{#test.length}}
    {{#test}}<li>{{.}}</li>{{/test}}
{{/test.length}}

{{^test.length}}
    <li>{{test}}</li>
{{/test.length}}
就像特征检测一样。代码的第一块检查是否test有长度,如果有,它是一个数组(是的,我知道字符串也应该具有length属性,但没有)。它要么输出数组(如果是数组),要么不输出(如果不是)。如果没有长度(例如,它是字符串或整数等),第二个块将打印出test的值。这意味着您可以在以下位置使用它:
var data = {
    test: "test1"
}
或者
var data = {
    test: [ "test1", "test2", "test3" ]
}
不必为它是否为数组设置标志。 mustache 将同时输出,但您不需要的将为空。

关于mustache - 如何处理 mustache 模板中的字符串或字符串数​​组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21545670/

相关文章:

javascript - 为什么我的 json 没有被 Mustache 解析?

javascript - mustache 模板 : how to refer to external file in backbone view

templates - Dart错误: '_Template'类没有带有匹配参数的实例方法 'render'

javascript - 避免模​​板代码冗余

javascript - 带有扩展的类似 mustache 的模板语言?

python - 了解 pystache 中的 lambda

JavaScript 模板

javascript - Hogan JS 模板中的 For 循环

javascript - Mongoose 响应无法正确解析

javascript - 无法从 CDN 下载 Mustache.js 文件