手动强制 ko.observable 以在页面加载时通知订阅

Force to ko.observable manually to notify subscribscription on page load

我试图在每次加载页面时触发 self.selectedNavigation 订阅。我试过下面的代码,但它不工作。

self.selectedNavigation = ko.observable(-1);
self.selectedNavigation.extend({ notify: 'always' });
self.selectedNavigation(self.navigations()[0].id());
self.selectedNavigation.valueHasMutated();

self.selectedNavigation.subscribe(function (newValue) {
    alert(newValue);
});

这可能吗?如果是,我该如何触发它?

要让订阅获得更改通知,必须在实际更改发生之前注册:

// first defining the observable
self.selectedNavigation = ko.observable(-1);

// subscribing for changes
self.selectedNavigation.subscribe(function(newValue) {
    alert(newValue);
});

// mutating value
self.selectedNavigation(1);

Fiddle