迭代模型时对Ember ArrayController进行排序

时间:2015-02-26 16:12:04

标签: ember.js ember-data

我有一个ArrayController(文档),它显示了ObjectsControllers(document)的内容列表。

我的ArrayController模板(文档):

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

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

2 个答案:

答案 0 :(得分:2)

排序集合不是修改基本模型,而是公开为arrangedContent

要解释为什么arrangedContent而不是arrangedModel,在Ember ControllerMixin content中定义为model的别名},但它曾经是other way around

答案 1 :(得分:0)

您可能必须在ArrayController(Documents)上设置itemController属性。

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

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