我的输入数据是逗号列举的列表,例如" EN,FR,ES"我说的一套语言。 我希望我的模板使用ul / li将其呈现为列表。
我已经定义了一个辅助函数,可以转换" en,fr,es"使用Javascript拆分成阵列[" en"," fr"," es"]。
can.stache.registerHelper('split_comma', function(str, options) {
return str.split(",");
});
但我无法弄清楚如何使模板有效?
假设以下背景: {语言:" en,fr,es", 语言:[" en"," fr"," es"]}
{{#each languages}} {{this}} and {{/each}}
返回正确的东西。
{{#each split_comma Language}} {{this}} and {{/each}}
不会返回任何内容。
似乎辅助函数没有优先权。
我错过了什么吗?
答案 0 :(得分:0)
据我所知,这不是Handlebars助手的工作方式。您可能想要做的是引入一个新的部分,其中split_comma
帮助器将语言数组作为上下文:
can.stache.registerHelper('split_comma', function(str, options) {
return options.fn(str.split(","));
});
然后迭代:
{{#split_comma Language}}
{{#each .}} {{this}} and {{/each}}
{{/split_comma}}