0

私の入力データはコンマで列挙されたリストです。たとえば、私が話す言語のセットは "en,fr,es" です。テンプレートで ul/li を使用してリストとしてレンダリングするようにします。

Javascript分割を使用して、「en、fr、es」を配列[「en」、「fr」、「es」]に変換できるヘルパー関数を定義しました。

can.stache.registerHelper('split_comma', function(str, options) {
    return str.split(",");
});

しかし、テンプレートを機能させる方法がわかりませんか?

次のコンテキストを想定しています: { Language: "en,fr,es", languages: ["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 に答える