2

オブザーバーにEmber.jsで実際に何かをさせることはできません。基本的に、Ember.Selectドロップダウンメニューがあり、ドロップダウンで値を選択するイベントにさらにアクションをバインドしたいと思います。例えば:

App.selectedPersonController = Ember.Object.create({
  person: null,
  personDidChange: function() {
    // do something here when the person changes
    console.log("PERSON CHANGED")
  }.observes('person')
});

また、「person」属性が更新されていても、何も起こりません。助言がありますか?

4

2 に答える 2

6

これは、バージョンpre4の時点では、Em.*.create()関数にプロパティを設定したり、監視したりすることができないためです。最初に関数を使用し、.extend()その中にすべてのプロパティとオブザーバブルを設定してから、そのオブジェクトを作成する必要があります。

例として、拡張機能で動作しているこのjsfiddleを見てください。次に、のみを使用してそれを取り除こうとするcreateと、アプリが機能しなくなったことがわかります。

于 2013-02-12T20:01:48.900 に答える
3

または、create()の代わりにcreateWithMixins()を使用します

于 2013-04-26T18:38:48.693 に答える