我的应用程序有单页面并为所有选项卡导航实现了 ngRoute。 现在,需要实现登录和注册。仅发布到该内容,它应该导航到所有选项卡导航。
我对以下几点感到困惑: 1)我是否必须创建另一个新页面用于登录和注册并发布到登录,执行 location.href 并重定向到具有所有选项卡导航的现有页面。 (这对于基于 SPA 的应用程序有效吗?)。
2)或者我是否必须在所有选项卡导航都存在的同一页面上添加登录和注册。 (在此选项中,我不确定如何隐藏所有选项卡,直到登录或出现任何安全威胁)。
应用程序是使用 angularjs 和 Web API 开发的。
请在此处提供帮助以展示最佳方法。
谢谢
最佳答案
最好的方法是使用 ui.router 而不是 ngRoute。
接下来是在 app.run.js 文件中添加根范围状态更改监听器
并在其中添加身份验证检查,如下所示
var userInfo = authenticationService.isAuthenticated();
var isLogin = toState.name === "login";
if(isLogin){
if(userInfo)
e.preventDefault();
return;
}
if(userInfo === false) {
e.preventDefault();
$state.go('login');
}
希望这会有所帮助
关于javascript - 如何在SPA应用中开发登录/注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41596438/