Basically I have an observableArray and the values for each item are not an observable. This means when I change an item value the UI within a foreach loop of the observable
I ended up using the dirty approach from above but made it so that all my observable arrays had this functionality.
ko.observableArray.fn.refresh = function () {
var data = this().slice(0);
this([]);
this(data);
};
The valueHasMutated didn't work for me. Its kind of lame the entire list has to be updated. Or in my case find a way to extend the ko mapping plugin to fill the observable arrays with observable objects..