我想知道当前(从KO 3.1开始)推荐的方法来实现/扩展一个可以通知新订阅者其当前值的observable?
是的,我知道我可以调用observable.valueHasMutated,但这不是这个问题的重点: - )
答案 0 :(得分:3)
您可以使用扩展程序来实现此目的,该扩展程序将覆盖订阅功能以通知订阅者:
ko.extenders.notifyOnSubscribe = function(obs) {
obs.originalSubscribe = obs.subscribe;
obs.subscribe = function (callback, target, ev) {
callback(obs.peek());
return obs.originalSubscribe(callback, target, ev);
}
return obs;
};
您可以使用以下 jsFiddle
进行测试