2

用一个简单的代码

{{#each array}}
{{@index}}: {{this}}
{{/each}}

大量错误出现。对于{{@key}}对象也是如此。为什么会这样?

4

2 回答 2

5

查看源代码(在https://github.com/meteor/meteor/blob/master/packages/handlebars/parse.js):看起来{{@ ..}}与 Meteor 打包的 Handlebars 版本不支持这组表达式.

于 2013-06-25T17:31:48.823 回答
5

这对我来说绝对是一种挫败感。与此同时,我制作了一个车把助手来将任何内容解析为命名的“键”和“值”对象:

Handlebars.registerHelper('key_value', function(context, options) {
  var result = [];
  _.each(context, function(value, key, list){
    result.push({key:key, value:value});
  })
  return result;
});

这将与#each运算符一起使用,例如:

<dl class="attributes">
  {{#each key_value attributes}}
    <dt>{{key}}</dt><dd>{{value}}</dd>
  {{/each}}
</dl>

(我也刚刚将此发布到相关的 Using @index in meteor #each iterator doesn't work

于 2013-10-02T06:32:22.897 回答