【问题标题】:Having troubling binding a property on a parent controller在父控制器上绑定属性时遇到麻烦
【发布时间】:2013-11-26 15:36:57
【问题描述】:

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

当我从子控制器切换属性时,它成功更新子视图并触发“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}}

索引.hbs

<button {{action toggleOnline}}>toggle</button>

为什么控制台记录了适当的值,但 Main.hbs 没有正确更新?

【问题讨论】:

    标签: binding properties ember.js controllers


    【解决方案1】:

    在您的切换属性、需求和映射中,Main 应为小写。我不确定为什么会破坏它。

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

    http://emberjs.jsbin.com/EKepEMaD/1/edit

    【讨论】:

    • 在需求、属性和地图中都是小写的。非常感谢!我从来没有想过!
    猜你喜欢
    • 2020-11-02
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 2016-05-05
    • 1970-01-01
    • 2013-07-21
    相关资源
    最近更新 更多