我正在使用angular 1
为我的应用+ ui router
。如果页面重新加载,我希望应用程序返回初始状态。目前,即使在浏览器刷新之后,该应用仍保持在之前的同一页面上。如何在页面重新加载后让应用程序返回login
状态?这是我的app.js
config
数据:
app.config(function($stateProvider, $urlRouterProvider) {
var loginState = {
name: 'login',
url: '/login',
templateUrl: 'templates/login/login.html',
controller: "loginController"
}
var homePageState = {
name: 'homePage',
url: '/homePage',
templateUrl: 'templates/chatRoom/homePage.html',
controller: "homePageController"
}
$stateProvider.state(loginState);
$stateProvider.state(homePageState);
$urlRouterProvider.otherwise('login');
}).run([
"$state",
function($state) {
$state.go('login');
}
]);
答案 0 :(得分:0)
app.config(function($stateProvider, $urlRouterProvider) {
//...
}).run([
"$state",
"$rootScope",
function($state, $rootScope) {
$rootScope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState, fromParams) {
if (toState.name == fromState.name) {
$state.go('login');
}
});
}
]);
刷新时,路由器的名称相同。希望这可以帮助你。
答案 1 :(得分:0)
您可以使用简单的javascript事件。
.tex
只需将此脚本标记添加到索引html文件中即可完成。