我有父控制器和子控制器设置,以便子控制器可以从父控制器切换属性。
当我从子控制器切换属性时,它成功更新子视图并触发“onlineChanged”观察者并记录相应的值,但父视图不会使用正确的值更新。显示仍然是假的。
这是我的代码:
App.Router.map(function() {
this.resource('Main', function() {});
});
App.MainController = Ember.Controller.extend({
online: false
onlineChanged: function () {
console.log(this.get('online'));
}.observes('online')
});
App.MainIndexController = Ember.Controller.extend({
needs: ['Main'],
actions: {
toggleOnline: function() {
this.toggleProperty('controllers.Main.online');
}
}
});
我的模板;
Main.hbs
{{outlet}}
Online: {{online}}
Index.hbs
<button {{action toggleOnline}}>toggle</button>
为什么控制台会记录相应的值,但Main.hbs无法正确更新?
答案 0 :(得分:0)
主要在切换属性,需求和地图中应为小写。我不赞成为什么会破坏它。
此外,主代码中缺少逗号,因此我假设您已经删除了其他可能破坏它的逻辑。