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