Meteor を使用してカスタム ヘルパーを作成しようとしています。こちらのドキュメントに従ってください: https://github.com/meteor/meteor/wiki/Handlebars
次のようにヘルパーを定義しようとしました。
Template.myTemplate.testHelper = function(foo, bar, options) {
console.log(foo);
console.log(bar);
}
私のテンプレートは次のようになります。
<template name="myTemplate">
{{#testHelper "value1" "value2"}}
{{/testHelper}}
</template>
コンソール出力を見ると、次の 2 行の出力が表示されるはずでした。
value1
value2
ただし、コンソールは次のようになります。
value1
function (data) {
// don't create spurious annotations when data is same
// as before (or when transitioning between e.g. `window` and
// `undefined`)
if ((data || Handlebars._defaultThis) ===
(old_data || Handlebars._defaultThis))
return fn(data);
else
return Spark.setDataContext(data, fn(data));
}
注意してください、私は流星とハンドルバーに完全に慣れていません。アンダースコアを使用した方がずっと幸せだと思いますが、流星のドキュメントはほぼ完全にアンダースコアを一瞥しています。ヘルパー関数の定義に何か問題がありますか? 2 番目のパラメーター「bar」が表示されず、代わりにオプションとして解釈されているようです。(注: console.log(options) を実行すると、「未定義」が返されます)。
Meteor バージョン 0.4.0 (8f4045c1b9)