应用程序加载时离子正确重定向

时间:2016-10-30 08:19:20

标签: javascript angularjs ionic-framework

当我第一次加载应用程序时,它应该检查用户是否退出然后重定向到正确的页面。

在app.js中我添加了以下代码:

if ($localStorage.currentUser) {
    $state.go('homePage');
} 
else {
    $state.go('loginPage');
}

并在routes.js中我在末尾添加了以下代码

if (window.localStorage['ngStorage-currentUser']) {
    $urlRouterProvider.otherwise('/homePage');
}
else {
    $urlRouterProvider.otherwise('/loginPage'); 
}

但是,如果没有用户,它会在加载loginPage之前加载homePage一会儿。我该如何解决 ?

1 个答案:

答案 0 :(得分:0)

听起来你需要将你的fi else语句挂钩到$routeChangeStart,它将在页面加载之前触发。您可以获得有关路线生命周期事件here

的更多信息

您还可以使用.run文件中的app

$urlRouterProvider.otherwise(function ($injector, $location) {
     var $state = $injector.get("$state");
     var $rootScope = $injector.get("$rootScope");
     if ($rootScope.user) {
       $state.go("app.homePage");
     } else {
       $state.go("app.loginPage");
     }
});