meteor / handlebars从自声明的数组中打印迭代

时间:2015-12-22 02:34:23

标签: meteor spacebars

我想我做的事情非常愚蠢。我想要在所有模板上提供一些数据,因此将它们声明为帮助程序。然后我在HTML中使用每个循环打印此数组,并希望将索引存储为MongoDB的值。所以稍后我可以用帮助器打印这些值。

数组:

myArray = ["A", "B", "C"];

Template.registerHelper('helper', function(i) { 
    return myArray[i];
});

html:

<select>
{{#each myArray}}
    <option value="{{@index}}">{{ helper @index }}</option>
{{/each}}
</select>

<select>
{{#each myArray}}
    <option value="{{@index}}">{{ myArray @index }}</option>
{{/each}}
</select>

但不确定我是否可以在每个循环中使用这样的参数(我的猜测应该不同)。

{{helper 0}}确实有效,但我当然想要循环这个。

1 个答案:

答案 0 :(得分:0)

您可以通过定义对象数组而不仅仅是数组来更简单地执行此操作:

<强> JS:

myArray = [
  {i: 0, value: "A"},
  {i: 1, value: "B"},
  {i: 2, value: "C"}
];

<强> HTML:

<select>
{{#each myArray}}
    <option value="{{i}}">{{value}}</option>
{{/each}}
</select>