2

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

未捕获的错误:断言失败:Ember.CollectionView 的内容必须实现 Ember.Array。你通过了 AssetLinksApp.NewAssetLinkController:ember538

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

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

<script type="text/x-handlebars" data-template-name="new_asset_link_view">
    .....
    {{view AssetLinksApp.TracksView}}
</script>
4

1 回答 1

5

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

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

尝试使用

{{view AssetLinksApp.TracksView controller="AssetLinksApp.tracksController"}}
于 2012-09-07T04:35:38.393 回答