我正在尝试构建一个观察者来检测何时发生表模型深处的变化。我可以在“rows.@each.label”上收到通知,但不能在“rows.@each.cols.@each.label”上收到通知。
App.Row = Ember.Object.extend({
init: function () {
this.set('cols', []);
}
});
App.Col = Ember.Object.extend({
label: null
});
var doneWithSetup = false;
var table = Ember.Object.create({
rows: [],
colLabelChanged: function () {
if (doneWithSetup) console.log("IT WORKED! I got notified when a col label changed");
}.observes("rows.@each.cols.@each.label")
});
var row = App.Row.create({});
var col1 = App.Col.create({ label: "Label 1" });
var col2 = App.Col.create({ label: "Label 2" });
row.get('cols').pushObject(col1);
row.get('cols').pushObject(col2);
table.get('rows').pushObject(row);
// OK, lets try this observer out...
doneWithSetup = true;
col1.set('label', 'some new label');
// FIXME: how do I get colLabelChanged to fire???
你可以在这里试试:
我做错了什么还是不支持多级@each 观察者?