如何获取meteor中的每个循环索引。@ index不起作用。请帮助我。
Template.apichange.helpers({
api_rest_data: function ()
{
return Session.get("api_rest_list");
}
});
{{#each api_rest_data}}
<tr>
<td><select id="methodname"> <option id="optn" value="{{ method_name }}"> {{ @index }} </option></select></td>
</tr>
{{/each}}
答案 0 :(得分:2)
需要另一个助手,请查看我在Meteor上的书中使用的my solution:
Template.registerHelper('withIndex', function (list) {
var withIndex = _.map(list, function (v, i) {
v.index = i;
return v;
});
return withIndex;
});
这会注册一个名为withIndex
的全局帮助程序。每当你在each
上下文中使用的数组上调用它时,它将允许你使用{{index}}
,就像使用{{@index}}
来分辨每个数组中的哪个位置一样元素有。
调整包含标记,首先将api_rest_data
传递给withIndex
:
{{#each withIndex api_rest_data}}
答案 1 :(得分:0)
非常感谢Stephan提供的这个中间解决方案。这是我的版本;它允许变量{{index}}
&amp; {{value}}
上下文中的{{#each}}
。
Template.registerHelper('withIndex', function (array) {
return _.map(array, function (val, i) {
return {
'index': i,
'value': val
};
});
});
根据{{3}},根据Handlebars / Spacebars规范,{{@index}}
上下文应该很快就会出现在新的Meteor版本中。