0

为了概念验证,我尝试将控制器 x 的一个值绑定到应用程序控制器。

更具体地说,我将 title 属性绑定到应用程序控制器上相应的 title 属性。

但是,它不起作用,我不知道为什么。

window.App = Ember.Application.create();

App.SiteController = Ember.ObjectController.extend({
    needs: "application",
    titleBinding: "controllers.application.title"
});

App.IndexController = App.SiteController.extend({
    init: function() {
        this._super();
        this.set("title", "Home");
    }
});

http://jsbin.com/ucanam/1743/edit

我是否理解错误绑定?

4

1 回答 1

1

在方法内部时绑定不会更新init,因为您的模板不会更改。您需要使用 注册一些函数on('init'),因此它将在对象初始化后调用。

您可以将 IndexController 替换为以下内容:

App.IndexController = App.SiteController.extend({
    setupTitle: function() {        
        this.set("title", "Home");
    }.on('init')
});

我用这个实现更新了你的 jsbin http://jsbin.com/ucanam/1745/edit

于 2013-10-29T11:42:57.150 回答