为什么ember自动将不正确的控制器传递给视图实例?

Ada*_*sky 2 ember.js

我正在尝试在模板中添加视图.此模板定义了一个名为NewAssetLinkView的视图.在里面我正在添加TracksView.ember给出了例外:

未捕获错误:断言失败:Ember.CollectionView的内容必须实现Ember.Array.您传递了AssetLinksApp.NewAssetLinkController:ember538

似乎路由器正在尝试自动创建NewAssetLinksController并将其应用于TracksView,这是错误的.也许这样做是因为TracksView在NewAssetLinkView中声明了?(顺便说一下,NewAssetLinkController扩展了ObjectController)

我有一个TracksView应该使用的TracksController - 我如何让路由器不尝试自动创建并将错误的控制器与TracksView关联?

<script type="text/x-handlebars" data-template-name="new_asset_link_view">
    .....
    {{view AssetLinksApp.TracksView}}
</script>
Run Code Online (Sandbox Code Playgroud)

Rya*_*yan 5

在模板内实例化视图时,新创建的视图将传递到创建它的视图的控制器.这非常有用,因为任何视图都可以访问controller,并且不需要绑定到类似的东西parentView.controller.

但是,在您的情况下,您想要使用不同的控制器.因此,您可以使用{{view}}帮助程序传递控制器绑定.

尝试使用

{{view AssetLinksApp.TracksView controller="AssetLinksApp.tracksController"}}
Run Code Online (Sandbox Code Playgroud)