Knockout.js 如何在取消点击事件后重定向到另一个页面

Knockout.js 如何在取消点击事件后重定向到另一个页面,knockout.js,Knockout.js,多页面站点中的每个页面都显示一个注销链接,并绑定到实现身份验证功能和状态的视图模型。以下是一个简化: <a href="#" data-bind="click: logout">Logout</a> ... function ViewModel() { var self = this; self.authenticated = ko.observable(true); self.logout = function (

多页面站点中的每个页面都显示一个注销链接,并绑定到实现身份验证功能和状态的视图模型。以下是一个简化:

<a href="#" data-bind="click: logout">Logout</a>
...
function ViewModel() {
    var self = this;
    self.authenticated = ko.observable(true);                
    self.logout = function () {            
        self.authenticated(false);
    };
};
但是为了在视图和视图模型之间保持更清晰的分离,我宁愿视图响应视图模型的authenticated属性中的更改。我设想这样的情况,尽管这个示例不起作用-脚本块没有隐藏,因此重定向总是发生:

<div data-bind="ifnot: authenticated()"><script>alert("window.location.href = 'login.html';");</script></div>
警报(“window.location.href='login.html';”;

那么,我们如何以MVVM的方式重定向到这里呢?我感谢大家的帮助;Knockout是一个非常棒的库。

没有重定向到登录页面的原因:

<a href="login.html" data-bind="click: logout">Logout</a>

解决了

单击事件无法执行重定向有什么原因吗?Hi@Tyrius-有趣的是,这没有任何作用:““data bind=”单击:注销“>注销”
<a href="login.html" data-bind="click: logout">Logout</a>
self.logout = function () {        
    self.authenticated(false);
    return true;
};