我有一个knockout计算数组,它将一个过滤器应用到另一个可观察数组。然后我想对计算数组进行排序,并且可以成功地完成这一操作,但在应用另一个过滤器之前,该数组不会在视图中自行更新。
我尝试过创建另一个使用计算值作为数据的可观察数组,并使用新的可观察数组代替计算数组,但没有效果。我还尝试过订阅计算数组,并获取新值并将其提供给可观察数组。但这也不起作用。可能值得注意的是,当计算数组被排序时,订阅者并不被通知新值。
第一个
我希望当排序函数更改数组的顺序时,视图会更新。
我有一个knockout计算数组,它将一个过滤器应用到另一个可观察数组。然后我想对计算数组进行排序,并且可以成功地完成这一操作,但在应用另一个过滤器之前,该数组不会在视图中自行更新。
我尝试过创建另一个使用计算值作为数据的可观察数组,并使用新的可观察数组代替计算数组,但没有效果。我还尝试过订阅计算数组,并获取新值并将其提供给可观察数组。但这也不起作用。可能值得注意的是,当计算数组被排序时,订阅者并不被通知新值。
第一个
我希望当排序函数更改数组的顺序时,视图会更新。
2条答案
按热度按时间vsnjm48y1#
当你调用
[].sort()
时,它会对array
进行排序,但在KO的情况下,它不会更新可观察值。请尝试执行以下操作:
p4rjhz4m2#
还有一个更简单的解决方案,直接从observable调用
.sort()
方法,而不是从它的内容调用:下面是一个工作示例:
第一个