2012-10-21 13 views
8

誰でも私にarrangedContentの目的を説明することができます。Ember.jsとarrangedContent

ドキュメントは、それは、サブクラスでオーバーライドすることができることを説明しています

プロキシがあることをふり配列を。デフォルトのArrayProxy実装では、これとコンテンツは同じです。 ArrayProxyのサブクラスはこのプロパティをオーバーライドしてソートやフィルタリングなどの機能を提供します。

私が混乱しているのは、コンテンツとの関係です。私はそれがコンテンツに計算されたプロパティを持つソースで見ることができます:

arrangedContent: Ember.computed('content', function(){ 
    return this.get('content'); 
} 

私は私はあなたがコンテンツに結合していないが、代わりにarrayProxy自体に特異的に結合する決してべきであると言って右にいると思います。

私はarranContentについて同じことが成立すると仮定していますか?

arrayContxyそのものにバインドするためにarranitedContentを使用して配列をフィルタリングするだけですか、何か不足していますか?

答えて

10

あなたはまったく正しいです:値にバインドするとき、またはaddObjectのようなトリガー方法を常にプロキシ自身をターゲットにする必要があります。 arrangedContentを使用すると、Emberはソート順や選択した項目のようなコレクションのプロパティを、基になる配列で変更することなく操作できます。

オブジェクトの単一の配列は、アプリケーションの多くの部分の基礎となるデータである可能性があるため、必ずしも配列自体を変更する必要はありません。

ジェームズさんクロフトは、プロキシの話偉大なガイドを持っていますhttp://matchingnotes.com/ember-array-proxy

+0

私はコンテンツのみに計算されたプロパティを持っている場合は、配列が初期化される時には、上記のように、arrangedContent計算プロパティのみがトリガされます。 ハンドルバーテンプレートにバインドされたときにトリガーされる可能性があると考えました。私は何かしなければならないことがありますか? – dagda1

+1

リンクされたガイドのために、もしあれば100万をプラスします。私が探していた答えではないArrayProxyに関する非常に*よく書かれたチュートリアルです。 – chris