Note: this is mostly for debugging and understanding KnockoutJS.
Is there a way to explicitly request Knockout to refresh the view from (already bound) view model? I am looking for something like:
ko.refreshView();
I understand that this is not an intended use of Knockout, but I still want to know if there is a such method for debugging and learning purposes.
I have created a JSFiddle with my bindHTML knockout binding handler here: https://jsfiddle.net/glaivier/9859uq8t/
First, save the binding handler into its own (or a common) file and include after Knockout.
If you use this switch your bindings to this:
You can't call something on the entire viewModel, but on an individual observable you can call
myObservable.valueHasMutated()
to notify subscribers that they should re-evaluate. This is generally not necessary in KO, as you mentioned.In some circumstances it might be useful to simply remove the bindings and then re-apply: