5

是否有某种方法可以使用把手或灰烬助手读取对象属性?

{{#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}},但是在我的情况下,需要读取的属性列表作为参数传递给组件(在我的示例中称为keys)。

也许这个功能已经存在于车把或 ember 中,而我只是还没有找到它?

4

1 回答 1

2

该语法不适用于 Ember 的把手。由于优化和 Ember 想要将数组观察者添加到被迭代的项目中,它不会工作。您可以做的是添加一个计算属性,该属性返回对象中的项目数组。不过,您确实需要小心,计算的属性不会随着值的变化而更新。

http://emberjs.jsbin.com/AmetIRi/1/edit

iterableObject: function(){
  return $.map(this.get('model'), function(value, key) {
    return [key + '-' + value];
  });
}.property('model')
于 2013-11-08T15:18:28.037 回答