在我开始重命名一些东西之前工作,特别是ArrayController本身。
这是我的代码:
// list_missions.js
Create.ListMissionsController = Ember.ArrayController.extend({
itemController: 'listMissionsItem',
});
// list_mission.js
Create.ListMissionsItemController = Ember.ObjectController.extend({
needs: ['listMissions'],
});
{{#each mission in controllers.listMissions
itemViewClass="Create.ListMissionsItemView"}}
<div>{{mission.name}}</div>
{{/each}}
也许是因为我用过滤器设置内容的方式?
在路线中像这样:
var missions = Breadcrumb.Mission.query({
list: model.get('id'), range_size: 150});
var missionsFilter = Breadcrumb.Mission.filter(
function(m) { return m.get('list') === model; });
this.controllerFor('listMissions').set('content', missionsFilter);
应该正常工作吗?但经过检查,listMissions._subControllers都是未定义的:(
什么可能导致itemController无法正确注册?
答案 0 :(得分:0)
这是因为我有一个同名的路线:
Create.ListMissionsRoute = Breadcrumb.Route.extend({ ...
用于不具有显式控制器的不同视图,因为它是一个从不访问的中间路径。因此,为什么我在查找和替换期间没有捕获它。呃,简单的错误。