如何在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/
祝你好运, 斯蒂芬
答案 0 :(得分:1)
有多种方法可以访问ArrayProxy元素:
给定my_array
ArrayProxy和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的好处。无论如何,我建议你read the ArrayProxy documentation。
答案 1 :(得分:0)
App.my_list.get('content.0')也有效。 所以是:content = App.my_list.get('content'); content.get( '0');