因此,我正在ObservableArray
对标记中的我进行排序,但由于某种原因,当我将新对象推送到 pagesObservableArray
时,这不会更新。
//store.get('pages') returns an ObservableArray
<!-- ko foreach:store.get('pages').sort(function (l , r ) { return l.pageNumber() < r.pageNumber() ? -1 : 1}) -->
<markup/>
<!--/ko-->
但是,当我删除排序调用时,它会很好地捕获数组更改。像这样,
//works fine, updates when item pushed to observableArray
<!-- ko foreach:store.get('pages') -->
<markup/>
<!--/ko-->
有什么简单的解决方法的想法吗?
编辑:
尝试使用 valueHasMutated(),也不会强制更新。
解决方法: 我最终将排序调用移动到 observableArray 上的订阅中,现在它似乎工作正常,但不知道为什么。