Tuesday, 10 September 2013

KO ObservableArray update breaks when binding with .sort

KO ObservableArray update breaks when binding with .sort

I'm sorting my ObservableArray in the markup thusly, but for some reason,
when I push a new object to the pages ObservableArray, this does not
update.
//store.get('pages') returns an ObservableArray
<!-- ko foreach:store.get('pages').sort(function (l , r ) { return
l.pageNumber() < r.pageNumber() ? -1 : 1}) -->
<markup/>
<!--/ko-->
However, when I remove the sort call, it catches the array change just
fine. Like so,
//works fine, updates when item pushed to observableArray
<!-- ko foreach:store.get('pages') -->
<markup/>
<!--/ko-->
Any idea for a simple workaround?
Edits:
Tried using valueHasMutated(), doesn't force an update either.

No comments:

Post a Comment