我正在学习如何使用 Knockout.js。我想显示 observableArray 的内容反转,所以我这样使用 Knockout reverse 函数:
<ul data-bind="foreach: anObservableArray.reverse()" >...</ul>
但是,它不起作用,也不会发生错误。当我尝试这个时:
<ul data-bind="foreach: anObservableArray.slice(0).reverse()" >...</ul>
它按预期工作。我的问题是当反向函数已经返回一个反向数组时,为什么我必须复制整个数组?。
最佳答案
调用 reverse
实际上会就地反转数组(并返回它),因此您可能会遇到多次反转数组的问题。
例如,如果您有两个块,例如:
<ul data-bind="foreach: anObservableArray.reverse()" >...</ul>
<ul data-bind="foreach: anObservableArray.reverse()" >...</ul>
第一个将被颠倒,第二个将恢复到原来的顺序。
最好反转副本,尤其是当您要从数组中添加和删除项目时。
关于knockout.js - 在 Knockout.js 中反转数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14391942/