2013-10-29 108 views
0

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

更具体地说,我将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

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

您可以用下面的更换你的IndexController:

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

我更新了jsbin本实施http://jsbin.com/ucanam/1745/edit