迭代模型时排序 Ember ArrayController

Sorting Ember ArrayController when iterating the model

我有一个 ArrayController(文档),它显示了一个 ObjectsController(文档)列表来显示其内容。

我的 ArrayController 模板(文档):

{{#each document in model}}
   {{render "document" document}}
{{/each}}

我面临的问题是 ArrayController 上的 "sortProperties" 和 "sortAscending" 属性不再有任何效果。我假设这是因为我正在循环 "model"。如果我循环 "each document in controller",文档 ObjectControllers 似乎没有将模型分配给它们作为对 .model 的调用然后抛出未定义的错误。我应该循环 "controller" 还是 "model"?如果答案是模型,我该如何排序,如果答案是控制器,我如何在每个控制器上设置模型?

您可能需要在 ArrayController(文档)上设置 itemController 属性。

看这里:http://emberjs.com/api/classes/Ember.ArrayController.html

编辑:此外,您在第一次使用{{#each document in controller}}时就做对了。直接从模型中执行此操作将忽略控制器中的配置,其中包括您可能拥有的排序规则。

排序后的集合公开为 arrangedContent

,而不是修改基本模型

为了解释为什么它是 arrangedContent 而不是 arrangedModel,在 Ember 的 ControllerMixin content is defined as an alias for model, but it used to be the other way around.