我正在处理单页应用程序。我们的第一页是登录页面,我们输入用户名和密码。
现在,客户向我们提出了一项新要求,即为管理员用户提供单独的登录页面。管理员登录页面中应该有一个额外的下拉列表。
他们的应用需要两个网址。一个用于管理员用户,一个用于普通用户。
据我所知,我们无法在单页面应用程序中添加两个HTML页面。只能更改内部视图。但是我如何识别应该显示哪个登录视图。
我无法想办法做到这一点。请提供任何指导。
答案 0 :(得分:0)
您可以使用动态路由器进行登录路由,如下所示:
var Router = Backbone.Router.extend({
routes: {
"login/:id": "login" // #login/user or #login/admin
},
login: function(id, page) {
if(id === "user"){
//render user login view
}else if(id === "admin"){
//render admin login view
}
}
});
<强>更新强>
这是link
答案 1 :(得分:0)
我已按照项目框架修改了您的代码。
我在应用初始化期间提供了以下内容:
var mode = location.hash.substring(1).toLowerCase();
if (mode == "admin") {
sessionStorage.isAdmin = true;
}
else {
sessionStorage.isAdmin = false;
}
在渲染视图时,我提供了以下代码:
if (sessionStorage.isAdmin == "true") {
var template = _.template(adminTemplate);
}
else {
var template = _.template(loginTemplate);
}
我希望这个apporach是正确的:)