Ember.js 连接插座/断开插座与viewClass是否工作不正常?

Ember.js 连接插座/断开插座与viewClass是否工作不正常?,ember.js,Ember.js,我通过方法connectOutlet将视图连接到控制器,但我传递的不是常规参数,而是散列: outletName: 'shaa', viewClass: MyApp.ViewAView 它被正确添加,但之后如果我通过调用以下命令更改该视图: MyApp.router.get('applicationController').connectOutlet({ outletName: 'shaa', viewClass: MyApp.ViewBView }); 余烬不会用新视图替换

我通过方法connectOutlet将视图连接到控制器,但我传递的不是常规参数,而是散列:

outletName: 'shaa',
viewClass: MyApp.ViewAView
它被正确添加,但之后如果我通过调用以下命令更改该视图:

MyApp.router.get('applicationController').connectOutlet({
    outletName: 'shaa',
    viewClass: MyApp.ViewBView
});
余烬不会用新视图替换旧视图。我用这把小提琴来说明我的观点

我想,也许通过调用
disconnectOutlet
手动断开它可以工作,但是不行。顺便说一句,在这个提琴中,我检查了插座是否可以连接到
路线
连接插座
方法之外。
通过atribute哈希连接的视图是否可以以某种方式断开连接?

我认为它工作正常,但在您的示例中,必须使用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);​

请参阅:

这是为什么?在文档中没有这样说。或者我遗漏了什么?通常,您在运行循环中使用这些函数(这是隐式的,您不必注意),通过处理路由器(或视图或控制器)中的事件。看见