0

在我开始重命名一些东西之前正在工作,特别是 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 无法正确注册?

4

1 回答 1

0

这是因为我有一条同名的路线:

Create.ListMissionsRoute = Breadcrumb.Route.extend({ ...

这是针对没有显式控制器的不同视图,因为它是一个从未单独访问过的中间路由。因此,为什么我在查找和替换期间没有抓住它。呃,简单的错误。

于 2013-09-22T03:16:11.863 回答