Force a computed property function to run
I realized my first answer missed your point, and won't solve your issue.
The problem is that a computed will only reevaluate if there is some observable that forces it to re-evaluate. There is no native way to force a computed to re-evaluate.
However, you can get around this with some hackery by creating a dummy observable value and then telling its subscribers that it has changed.
(function() {
var vm = function() {
var $this = this;
$this.dummy = ko.observable();
$this.curDate = ko.computed(function() {
$this.dummy();
return new Date();
});
$this.recalcCurDate = function() {
$this.dummy.notifySubscribers();
};
};
ko.applyBindings(new vm());
}());
Here is a Fiddle showing this approach
There is a method to force recalculation of all observables depending on yours:
getCurrentValues.valueHasMutated()