0
我嘗試觀察(在我的控制器中)我的Ember模型是否已更改。觀察Ember的dirtyType屬性時的好奇行爲
personChanged: function() {
// do stuff
}.observes('person.dirtyType'),
這名觀察員從未triggerd除非我將之前訪問isDirty
屬性。例如,如果I get
路線中的屬性(模型被提取),觀察者將被精確觸發1次。
model.people.get('firstObject').get('dirtyType');
controller.set('person', model.people.get('firstObject'));
如果我想要得到的觀察者都會觸發模式改變,我又需要觀察者內訪問dirtyType
時間。
personChanged: function() {
this.get('person.dirtyType');
// do stuff
}.observes('person.dirtyType'),
總是如預期的dirtyType
在觀測值。
也許我做的完全錯了,但我不能按照上面的行爲。
這對我不起作用,對不起。 – Fabic
未消耗的計算屬性不觸發觀察者[引用](https://guides.emberjs.com/v2.13.0/object-model/observers/#toc_unconsumed-computed-properties-do-not-trigger-observers)。所以如果你不在模板裏面使用'person',那麼在init方法中考慮'this.get('person')'。 – kumkanillam
我在我的模板中使用'person',但在init方法中也添加了this.get('person')'。問題依然存在。 – Fabic