是否有某种方法可以使用把手或ember助手来读取对象属性?
{{#each object in objects}}
<tr>
{{#each key in keys}}
{{!- doesn't work, because object[key] isn't valid syntax I guess --}}
<td>{{object[key]}}</td>
{{/each}}
</tr>
{{/each}}
我知道我可以读取{{object.someProperty}}
之类的属性,但在我的例子中,需要读取的属性列表作为参数传递给组件(在我的示例中,它被称为{{1} })。
也许这个功能已经存在于把手或者灰烬中,我还没找到它?
答案 0 :(得分:2)
该语法不适用于Ember的Handlebars。由于优化和Ember想要将数组观察器添加到正在迭代的项目,它将无法工作。你可以做的是添加一个计算属性,该属性返回对象中的项数组。你需要注意,计算属性不会随着值的变化而更新。
http://emberjs.jsbin.com/AmetIRi/1/edit
iterableObject: function(){
return $.map(this.get('model'), function(value, key) {
return [key + '-' + value];
});
}.property('model')