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 要素にアクセスするには、いくつかの方法があります。

ArrayProxymy_arrayと、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'); content.get('0');

于 2012-09-05T10:42:32.457 に答える