gpt4 book ai didi

ember.js - 在不使用数组 Controller 的情况下,如何在 Ember 模型中实现排序?

转载 作者:行者123 更新时间:2023-12-04 01:19:18 25 4
gpt4 key购买 nike

每个谷歌结果都是关于 ArrayController 排序的。需要一种不使用 ArrayController 的排序机制。

有一个模型,其中有排序参数。就像说 'sortOrder' 作为模型中的属性之一(将来自后端)。

将使用 #each 渲染此模型,但这应该基于 sortOrder 属性而不是模型的 ID 属性进行迭代。

最佳答案

在 Ember 2.0 SortableMixin已弃用,也即将淘汰。

Controller (不是 ArrayController )你可以定义一个新的计算属性,如 SortedUsers1,2,3以下:

export default Ember.Controller.extend({
sortProps: ['lastName'],
sortedUsers1: Ember.computed.sort('model', 'sortProps'),
sortedUsers2: Ember.computed.sort('content', 'sortProps'),
sortedUsers3: Ember.computed('content', function(){
return this.get('content').sortBy('lastName');
})
});

上面的假设是模型本身是一个具有 lastName 的用户数组。作为用户属性之一。依赖于 'model''content'看起来和我一样。上面的所有三个计算属性都生成相同的排序列表。

请注意,您不能替换 'sortProps''lastName' 的争论在 sortedUsers1,2 - 它不会工作。

要更改排序顺序修改 sortProps
sortProps: ['lastName:desc']

此外,如果您的模板在 users/index 文件夹中,那么您的 Controller 也必须在那里。即使路由加载模型在 users/中, users/中的 Controller 也不会这样做。

在模板中,用法如预期:
    <ul>
{{#each sortedUsers1 as |user|}}
<li>{{user.lastName}}</li>
{{/each}}
</ul>

关于ember.js - 在不使用数组 Controller 的情况下,如何在 Ember 模型中实现排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30387375/

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