1

これはhttp://jsfiddle.net/EugeneVB/yhNzm/1/の例 です。tab2 に移動してから tab1 に戻ると、ContainerView は空です。

4

1 に答える 1

4

あなたのフィドルでは、tab1 テンプレートは{{view Em.ContainerView currentViewBinding="view.controller.cv"}}

ここでview.controller.cv(ところで、ここのように使用できcvます)は、 App.Tab1Controller init() メソッド中に手動でインスタンス化するビューを指します。このコントローラーは、アプリケーションの初期化中に一度だけインスタンス化されます。

Ember.js は潜在的なリークを常に追跡していると思います。そのため、ここで tab1 から tab2 に切り替えると、tab1View が破棄され、そのサブビューもすべて破棄されます。(したがって、そのcurrentView. はバインドされているため (Ember.js バインディングは双方向バインディングであることを思い出してください)、「view.controller.cv」も破棄されます。

于 2012-10-16T12:21:19.260 に答える