我試圖將我的應用程序移動到使用「插座」的新Emberjs路由器組件。Emberjs路由器:查看屬性未定義在關聯的控制器
見參考文獻:http://emberjs.com/guides/outlets/這: http://codebrief.com/2012/07/anatomy-of-an-ember-dot-js-app-part-i-redux-routing-and-outlets/
我如何理解這個工作: 當使用字符串下面的事情發生在連接插座
- 灰燼查找視圖定義上該應用程序並實例化它
- Ember尋找應用程序上的控制器定義並創建它的一個實例
- 掛鉤兩者相互之間如下所示:設置視圖控制器屬性並設置控制器視圖屬性
---直到最後一步工作。我似乎無法獲得在控制器上設置視圖屬性。
JSBin這裏:http://jsbin.com/ekekir/40/edit
相關代碼:
App.Router
App.Router = Ember.Router.extend({
root: Ember.Route.extend({
state1: Ember.Route.extend({
route: '/state1',
connectOutlets: function (router) {
router.get('applicationController').connectOutlet('state1')
}
})
})
});
控制器和視圖
App.State1View = Ember.View.extend ({
templateName: 'state1',
submit: function() {
this.get('controller').doLogView();
return false;
}
});
App.State1Controller = Ember.Controller.extend({
doLogView: function() {
console.log('Getting controller view:');
console.log(this.get('view'));
}
});
在t他結束它返回一個大胖的空。
我是不是做錯了什麼或者這只是它的方式應該是什麼?
BTW:This is using ember-1.0.pre。
感謝您的澄清。 Mike Aski說的是有道理的,你不應該嘗試這樣做,但是如果你需要*你可以這樣做:'App.get('router.applicationController.view')' – oportocala