Knockout.js 可观察的,通知新订户其当前值

Knockout.js 可观察的,通知新订户其当前值,knockout.js,Knockout.js,我想知道目前(截至KO 3.1)实施/扩展observable(通知新订户其当前值)的推荐方法是什么 是的,我知道我可以直接调用observable.valueHasMutated,但这不是问题的重点:-)您可以使用扩展器实现这一点,扩展器将覆盖订阅功能以通知订阅方: ko.extenders.notifyOnSubscribe = function(obs) { obs.originalSubscribe = obs.subscribe; obs.subscribe = fun

我想知道目前(截至KO 3.1)实施/扩展observable(通知新订户其当前值)的推荐方法是什么


是的,我知道我可以直接调用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;
};

您可以使用以下

测试它,为什么不在调用
subscribe
时获取值?@Gôtô因为我希望避免重复初始值的相同代码路径。