gpt4 book ai didi

ember.js - 为什么 ember 会自动将不正确的 Controller 传递给 View 实例?

转载 作者:行者123 更新时间:2023-12-02 05:58:36 24 4
gpt4 key购买 nike

我正在尝试在模板中添加一个 View 。该模板定义了一个名为 NewAssetLinkView 的 View 。在其中我添加了 TracksView。 Ember 给出了异常(exception):

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

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

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

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

最佳答案

当您在模板中实例化一个 View 时,新创建的 View 将被传递给创建它的 View 的 Controller 。这非常有用,因为任何 View 都可以访问 controller 并且不需要绑定(bind)到 parentView.controller 之类的东西。

但是,在您的情况下,您想使用不同的 Controller 。因此,您可以传入一个与 {{view}} 助手绑定(bind)的 Controller 。

尝试使用

{{view AssetLinksApp.TracksView controller="AssetLinksApp.tracksController"}}

关于ember.js - 为什么 ember 会自动将不正确的 Controller 传递给 View 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309056/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com