0

如何访问 EmberJS 中的 ArrayProxy 元素?objectAtContent 是唯一的解决方案?

这是一个例子:

App = Ember.Application.create({});

App.my_list = Ember.ArrayProxy.create({
    content: ['dog', 'cat', 'fish']
});

console.log(App.my_list.length); // don't work
console.log(App.my_list.get('length')); // Work
console.log(App.my_list.objectAtContent(0)); // => Work
console.log(App.my_list[0]); // => not work !
console.log(App.my_list.get('0')); // => not work !

http://jsfiddle.net/stephane_klein/2ggrT/2/

最好的问候,斯蒂芬

4

2 回答 2

1

有几种方法可以访问 ArrayProxy 元素:

给定my_arrayArrayProxy,以及i您想要的对象的索引:

  • my_array.get('content.' + i)
  • my_array.objectAt(i)
  • my_array.objectAtContent(i)(这是您应该重写以将内容转换为新内容的方法)
  • my_array.get('firstObject')如果你想要第一个对象
  • my_array.get('lastObject')如果你想要最后一个对象
  • my_array.get('content')[i]工作,但你失去了 ArrayProxy 的好处。

无论如何,我建议您阅读 ArrayProxy 文档

于 2012-10-04T09:59:26.700 回答
0

App.my_list.get('content.0') 也有效。所以是: content = App.my_list.get('content'); 内容.get('0');

于 2012-09-05T10:42:32.457 回答