Binding 在父控制器上绑定属性时遇到问题

Binding 在父控制器上绑定属性时遇到问题,binding,properties,ember.js,controllers,Binding,Properties,Ember.js,Controllers,我有父控制器和子控制器设置,以便子控制器可以从父控制器切换属性 当我从子控制器切换属性时,它会成功更新子视图并触发onlineChanged observer并记录适当的值,但父视图不会使用正确的值进行更新。显示仍为假 以下是我的代码: App.Router.map(function() { this.resource('Main', function() {}); }); App.MainController = Ember.Controller.extend({ onlin

我有父控制器和子控制器设置,以便子控制器可以从父控制器切换属性

当我从子控制器切换属性时,它会成功更新子视图并触发onlineChanged observer并记录适当的值,但父视图不会使用正确的值进行更新。显示仍为假

以下是我的代码:

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没有正确更新?

Main在toggle属性、需求和映射中应该是小写的。但我不确定为什么这会破坏它

此外,主代码中缺少逗号,因此我假设您删除了一些可能破坏它的其他逻辑


它在需求、属性和地图中是小写的。非常感谢你!我从来没有想到过!