在 Controller 数组中创建对象时,我无法触发观察函数
我的代码:
型号
App.Meeting = Em.Object.extend({
id: null,
name: null,
type: null,
proposes: null
});
App.Meeting.reopen({
proposedChanged: function() {
//some do
}.observes('proposes')
});
Controller
App.meetingsController = Ember.ArrayController.create({
content: [],
loadList: function(){
var me = this;
$.getJSON(url,function(data){
if(data.status == 0){
$(data.meetings).each(function(index,value){
var m = App.Meeting.create(value)
me.pushObject(m);
});
}else{
alert('Error loading content');
}
});
},
});
App.meetingsController.loadList();
当我运行应用程序时, Controller 已获取 JSON 数据并使用该数据创建了 App.Meeting,但观察者未触发
最佳答案
当我创建一个 jsbin 来与 @Darshan Sawardekar 一起玩时,它是正确的,所以现在你必须回答才能玩:)
重要代码:
App.meetingsController = Ember.ArrayController.create({
content: [],
loadList: function(){
var me = this;
$.getJSON(url, function(data){
if(data.status == 0){
$(data.meetings).each(function(index, value){
var m = App.Meeting.create();
m.set('id', value.id);
m.set('name', value.name);
m.set('type', value.type);
m.set('proposes', value.proposes);
me.pushObject(m);
});
} else {
alert('Error loading content');
}
});
}
});
希望有帮助。
编辑
请参阅此处了解工作 jsbin这显示了这个概念。
关于ember.js - Ember 创建对象时如何观察火(观察已在模型中设置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17719896/