gpt4 book ai didi

javascript - orderBy 无法正常工作

转载 作者:行者123 更新时间:2023-12-03 12:44:34 24 4
gpt4 key购买 nike

我创建了 3 个组 - 优先级 1,2 和 3 并使用 orderBy:priorty 期望每个推送的任务都会进入它们的组。但在我使用更多数据进行测试后,我发现每个组中都有奇怪的行为,它们没有正确排序。

<input ng-model="taskName"/>
<button ng-click="AddTask()">Push task</button>

<li ng-repeat="task in tasks | orderBy:'priorty'">priorty {{task.priorty}} - {{task.taskName}}</li>

新项目不是被推到底部,而是有时被推到顶部/中间,为什么会发生这种情况?

试试我的演示:http://plnkr.co/edit/V5aIZcLbhiSfLy1vEWoe?p=preview

最佳答案

根据优先级,项目始终处于正确的顺序。
除此之外,对于同一优先级内的项目顺序没有任何要求(且不保证)。

如果想要进行第二级排序,您可以将属性列表传递给 orderBy 过滤器:

ng-repeat="task in tasks | orderBy:['priorty','taksName']"

另请参阅此 short demo

<小时/>

关于您提出问题的“原因”
(如果您只按“优先级”排序,为什么会发生重新排序):

它似乎是特定于浏览器的。 Firefox 上的相同代码在插入第 9 个项目后不会“重新排序”项目(Chrome 也是如此)。

<子>如果我猜测的话,我会说这与每个浏览器保留对元素(内部)的一些引用的方式有关,并且在这一点上他们决定进行一些重新哈希。

关于javascript - orderBy 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23387956/

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