0

我的输入数据是一个逗号枚举的列表,例如我说的一组语言的“en,fr,es”。我希望我的模板使用 ul/li 将其呈现为列表。

我已经定义了一个辅助函数,它可以使用 Javascript 拆分将“en,fr,es”转换为数组 ["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}}

不返回任何东西。

似乎辅助函数没有优先权。

我错过了什么吗?

4

1 回答 1

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}}
于 2014-06-12T15:11:56.747 回答