2013-07-30 39 views
3

有了最新的灰燼,下面簡單ContainerView導致錯誤:簡單的ContainerView導致「不再支持使用defaultContainer」。

DEPRECATION: Using the defaultContainer is no longer supported. [defaultContainer#lookup] see: http://git.io/EKPpnA

我想這是某種程度上與我的觀點追加到控制器的方式,

請注意,如果模板在子視圖是內聯編譯的,錯誤不會發生,只有在向視圖的'模板'屬性提供外部模板時纔會發生。

http://jsbin.com/uqawux/2/edit

感謝

回答

1

那過時消息引用此gist,如果你看的遷移路徑:(WIP)部分,它有如下文字:

if you are creating views outside the context of a parentView (this may not be recommended, but it is happening) you will want to make sure to instantiate your view via the container itself.

this.container.lookup('view:apple') 
// will provide a instance of apple view. 

所以你需要更新你的代碼來使用容器而不是App.FooView.create()

App.IndexController = Ember.Controller.extend({ 
    show: function() {  
    var v = this.container.lookup('view:foo');  
    v.appendTo(App.rootElement); 
    } 
}); 

根據你的版本,您將收到一個新的警告消息:

DEPRECATION: Action handlers implemented directly on controllers are deprecated in favor of action handlers on an actions object (show on )

在這種情況下,把你的行動在actions對象:

App.IndexController = Ember.Controller.extend({ 
    actions: { 
    show: function() {  
     var v = this.container.lookup('view:foo');  
     v.appendTo(App.rootElement); 
    } 
    } 
}); 

這是一個更新jsbin使用最新的餘燼版本無警告http://jsbin.com/uqawux/4/edit

相關問題