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;
};