我已经有一个home
页面,现在我想添加一个由homePlus
变量localStorage
控制的alreadyShown
页面。设置是首次显示homePlus
后,我们将alreadyShown
设置为true
,因此homePlus
的所有后续加载将直接重定向到home
{1}}页面。我有以下代码:
.state('homePlus', {
url: '/homePlus',
templateUrl: '/htmls/homePlus.html',
controller: 'homePlusCtrl',
resolve: {
checkAlready: ['$window', function ($window) {
if ($window.localStorage['alreadyShown'] === "true") {
$window.location.href = "https://localhost:3000/home"
}
}]
}
})
以上代码会检查alreadyShown
。但是,即使alreadyShown
为true
,在重定向到homePlus
之前,它仍显示0.5-1
秒的home
页面。理想情况下,在这种情况下,我根本不想看到homePlus
页面。
有谁知道如何实现这个目标?
答案 0 :(得分:0)
ui-router事件$stateChangeStart
应该有用
angular.module.run
app.run(['$rootScope' function ($rootScope) {
$rootScope.$on('$stateChangeStart', function (event, to, toParams, from, fromParams) {
...do something
});
}]);