我正在尝试使用观察者来观察 XHR 之后我的模型的变化。这是因为之前扩展 fn 并调用 super 的方法不再被允许。
遇到我的观察者没有触发的这个奇怪问题:
App = Ember.Application.create({
ready: function () {
console.log('Ember Application ready');
this.topCampaignsController = Ember.ArrayController.create({
content: null
});
App.TopCampaignsModel.create({
// Calling super is no longer allowed in object instances
//success: function () {
// this._super();
// App.topCampaignsController.set('content', this.get('data'));
//},
onDataChange: function () {
console.log('data property on the object changed');
App.topCampaignsController.set('content', this.get('data'));
}.observes('data')
});
}
});
App.TopCampaignsModel = Ember.Object.extend({
data: null,
// this will be actually called from an XHR request
success: function () {
this.set('data', [5,10]);
},
init: function () {
console.log('TopCampaignsModel created');
this.success();
console.log(this.get('data'));
}
});
Jsfiddle在这里:http: //jsfiddle.net/gdXfN/26/
不确定为什么控制台不记录“对象上的数据属性已更改”。对如何在我的实例中覆盖“成功”fn 的替代方法持开放态度。