0

メソッド connectOutlet を介してビューをコントローラーに接続していますが、通常のパラメーターの代わりにハッシュを渡しています。

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/はありません。ところで、このフィドルでは、アウトレットがRouteconnectOutletsメソッドの外部に接続できるかどうかを確認しました。属性ハッシュを介して接続されているビューを何らかの方法で切断できますか?

4

1 に答える 1

0

あなたの例では、Ember.runを使用して、実行ループで接続/切断を実行する必要がありますが、正しく機能していると思います。ここでは、延期するために 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);​

参照: http://jsfiddle.net/Sly7/6p6XJ/53/

于 2012-10-29T21:27:40.380 に答える