0

私は残り火に不慣れで、まだフレームワークで私のシーレグを私の下に置いています。これまでのところ、私が理解できないことが1つあることを除いて、それは素晴らしいと思います。配列アイテムのプロパティを隣接する配列アイテムのプロパティにバインドする方法です。

詳細:

私のモデルは次のようなものです。

App.SRDate = Ember.Object.extend({
    timeValue: null,
    reductionAmount: null,
    id: null,
    index: null,
    date: Ember.computed(function(){return formatted date as a string}).property('timeValue') ,
    previousDate: ???
});

そして、上記のオブジェクトのリストを保持するだけの単純なarraycontrollerがあります。私がやろうとしているのは、電話をかけApp.dates.objectAt(1).get('previousDate')て返してもらうことApp.dates.objectAt(0).get('date')です。最初はpreviousDateの計算プロパティを使用して機能するようになりましたが、バインドされたオブジェクトのアイテムを変更した場合にのみ更新されます(つまり、オブジェクト0の日付を変更した場合、オブジェクト1のpreviousDateでは更新されません。オブジェクト1の日付を変更するまで、これによりemberは計算されたプロパティを再評価しました)。計算されたプロパティが関連付けられているオブジェクトを定義する方法がある場合、それはおそらくトリックを行いますが、計算されたプロパティが実際に使用されることになっているのはそれではないと思います...

私も次のようなバインディングを試しました:

previousDateBinding: 'App.dates.getObject('+this.get('index')-1+').date' 

しかし、それもうまくいきませんでした。

これについて助けてくれてありがとう。

4

1 に答える 1

0

同様の問題がありました。これを解決した方法は次のとおりです。http://jsfiddle.net/aMQU6/1/

私の ArrayController には、コンテンツの変更を監視する関数があります。次に、追加されたら、新しいオブジェクトのプロパティを前のオブジェクトに設定し、前のオブジェクトの日付を追加されたオブジェクトの previousDate プロパティにバインドします。

これが役に立ったことを願っています!ご不明な点がございましたら、お知らせください。

于 2012-08-09T20:49:22.927 に答える