我有以下代码:
self.isViewingFolder = ko.observable();
self.isViewingSet = ko.observable();
self.canEditFolder = ko.observable();
self.isViewingFolder(ko.computed(function() {
return router.activeRoute().moduleId == 'viewmodels/folder';
}));
self.isViewingSet(ko.computed(function () {
return router.activeRoute().moduleId == 'viewmodels/set';
}));
self.canEditFolder(ko.computed(function() {
return self.isViewingFolder() && auth.isAuthenticated() && !self.isPublicFolder()
}));
isViewingFolder 和 isViewingSet 总是按预期更新,尽管 canEditFolder 只更新一次。如果我将 canEditFolder 设置为
canEditFolder(isViewingFolder())
然后它就可以工作了,但是我需要那里的逻辑,所以我使用了一个计算的 observable。为什么这不起作用?