【发布时间】:2012-09-11 09:44:49
【问题描述】:
我正在尝试将我的应用程序移至使用“插座”的新 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 在 App 上查找视图定义并实例化它
- Ember 在 App 上查找控制器定义并创建它的实例
- 将两者相互挂钩,如下所示:设置视图控制器属性和设置控制器视图属性
--- 在最后一步之前运行良好。我似乎无法在控制器上设置视图属性。
这里是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'));
}
});
最后它返回一个大的空值。
是我做错了什么还是应该是这样?
顺便说一句:这是使用 ember-1.0.pre。
【问题讨论】: