JsRender - 动态数组,辅助函数

JsRender - dynamic array, helper function

我有一个带有 JsRender 的网站和一个 JSON 文件。
我的 JSRender 代码:

{{for ~getModel(cards)}}
{{:id}}
{{/for}}

我的 JSON 文件:

{
    "alpha": {
        "cards": [{
            "id": "alpha-01"
        }, {
            "id": "alpha-02"
        }, {
            "id": "alpha-03"
        }]
    },
    "beta": {
        "cards": [{
            "id": "beta-01"
        }, {
            "id": "beta-02"
        }]
    }
}

{{for ~getModel(cards)}}中是cards,一个后缀。 我的 JsRender 助手连接一个前缀和一个后缀,结果是一个字符串。 这个字符串应该是我的 for 循环数组。后缀是动态部分,参数来自URL(?model=alpha)

for循环应该运行遍历数组alpha.cards -> {{for ~getModel(alpha.cards)}}

但是当我连接动态部分和后缀时,return值是一个字符串,for循环不起作用。似乎助手的值 (return) 必须是一个数组。

是否正确,或者是否有其他解决方案?

是 - 您需要 return 一个数组。 JsRender 针对 javascript 对象和数组(通常是对象和数组的层次结构)呈现。如果您的字符串是 JSON 字符串,您需要先 convert/eval 以生成相应的对象或数组...