2013-10-29 181 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