我通过方法connectOutlet将视图连接到控制器,但是我传递的是hash而不是常规参数:
outletName: 'shaa',
viewClass: MyApp.ViewAView
它被正确添加,但之后如果我通过调用来改变该视图:
MyApp.router.get('applicationController').connectOutlet({
outletName: 'shaa',
viewClass: MyApp.ViewBView
});
Ember不会用新的视图替换旧视图。我有这个小提琴来说明我的观点 http://jsfiddle.net/6p6XJ/48/
我想,通过调用disconnectOutlet
手动断开连接可能会有效,但没有http://jsfiddle.net/6p6XJ/50/。 BTW在这个小提琴中我检查了是否可以在Route
的{{1}}方法之外连接插座。
可以通过某种方式断开通过属性哈希连接的视图吗?
答案 0 :(得分:0)
我认为它工作正常,但在您的示例中,连接/断开连接的东西必须使用Ember.run在runloop中执行。在这里,我使用Ember.run.later来推迟。
Ember.run.later(function(){
MyApp.router.get('applicationController').connectOutlet({
outletName: 'shaa',
viewClass: MyApp.ViewBView
});
Ember.run.later(function(){
MyApp.router.get('applicationController').disconnectOutlet('shaa');
},1000);
},1000);