gpt4 book ai didi

javascript - Ember 路由器记录错误 : "Ember.CollectionView' s content must implement Ember. 阵列”

转载 作者:数据小太阳 更新时间:2023-10-29 05:06:13 25 4
gpt4 key购买 nike

这里是相当直接的 Ember 问题,(我希望!)。

我有一个简单的 Ember 数据设置。一个应用程序有多个版本。这是我的应用模型:

App.App = DS.Model.extend({
name: DS.attr('string'),
publicKey: DS.attr('string'),
versions: DS.hasMany('App.Version', { key: 'version_ids' })
});

我的路由器相当简单:

App.Router = Ember.Router.extend({
location: 'hash',
root: Ember.Route.extend({
index: Ember.Route.extend({
route: '/',
redirectsTo: 'dashboard'
}),
dashboard: ...,
app: Ember.Route.extend({
route: '/:app_id',
connectOutlets: function(router, app) {
router.get('applicationController').connectOutlet('appTest', app);
},

index: Ember.Route.extend({
route: '/',
connectOutlets: function(router) {
appTestController = router.get('appTestController');
appTestController.connectOutlet('addCommentOutlet', 'addComment', {});
appTestController.connectOutlet('versions', appTestController.get('content.versions'));
}
})
})
})
});

View 和 Controller 看起来像这样:

App.AppTestView = Ember.View.extend({
templateName: 'app_test'
});

App.VersionsView = Ember.View.extend({
templateName: 'versions'
});

App.AppTestController = Ember.ObjectController.extend({
});

App.VersionsController = Ember.ArrayController.extend({
});

不幸的是,当我运行它时出现错误:an Ember.CollectionView's content must implement Ember.Array. You passed <App.Version:ember519> .

有趣的是,如果我在 [appTestController.get('content.versions')] 两边加上括号在路由器中它不会提示并正确创建一个包含第一个 Version 对象的数组。但它似乎不想显示多个对象。

有什么建议吗?

最佳答案

最终,不是模型、 View 对象或 Controller !它甚至不是路由器。

它是 versions.handlebars。我的模板中有一个循环中的循环,如下所示:

{{#each version in controller}}
Version here
{{#each comment in version}}
{{comment.text}}
{{/each}}
{{/each}}

我写错了:

each comment in version

...我想写的地方:

each comment in version.comments

:) 这解释了错误消息。希望这对其他人有帮助!

关于javascript - Ember 路由器记录错误 : "Ember.CollectionView' s content must implement Ember. 阵列”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206639/

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