我的视图模型中有一个可观察的数组。是否可以在推送附加商品后一直订购商品?
例子:
[ { a: 4 }, { a: 1 }, { a: 2 } ];
显示在按属性排序的 UI 上a
。所以[ { a: 1 }, { a: 2 }, { a: 4 } ]
。
然后我从服务器加载一些新项目 - [ { a: 5 }, { a: 3 } ]
,将它们推送到数组中,数组仍然在 UI 上按顺序显示。是否可以使用 core ko 功能?
提前致谢!
我的视图模型中有一个可观察的数组。是否可以在推送附加商品后一直订购商品?
例子:
[ { a: 4 }, { a: 1 }, { a: 2 } ];
显示在按属性排序的 UI 上a
。所以[ { a: 1 }, { a: 2 }, { a: 4 } ]
。
然后我从服务器加载一些新项目 - [ { a: 5 }, { a: 3 } ]
,将它们推送到数组中,数组仍然在 UI 上按顺序显示。是否可以使用 core ko 功能?
提前致谢!
每次将数据推送到数组中时,您都可以调用该.sort()
方法 - 您不能直接将它们插入到数组的中间(请参阅文档)。
在您的情况下,您可以执行以下操作:
// Todo: insert (push) all inside the observableArray when you retrieved it from the server
// Now sort the data
observableArray.sort(function (left, right) {
return left.a == right.a ? 0 : (left.a < right.a ? -1 : 1);
});