我想知道目前(截至KO 3.1)实现/扩展通知新订阅者其当前值的可观察对象的推荐方法是什么?
我知道我可以直接调用observable。valueHasMutated,但这不是这个问题的重点:-)
您可以使用扩展程序来实现这一点,扩展程序将覆盖订阅函数以通知订阅者:
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