Ember-绑定控制器值到应用程序控制器

时间:2013-10-29 10:06:22

标签: javascript ember.js handlebars.js

为了概念验证,我试图将控制器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

我是否理解绑定错误?

1 个答案:

答案 0 :(得分:1)

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

您可以使用以下内容替换IndexController:

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

我使用此实现http://jsbin.com/ucanam/1745/edit

更新了您的jsbin