【发布时间】:2016-11-30 09:29:08
【问题描述】:
场景相当简单,我有一个使用 Angular 的本地站点。我让我的州提供者为我们设置了 ui 路由器库。
如果我输入http://localhost.com/#/lwejfpwef,它会正确地将我重定向到我的另一个明智的子句到状态'/login'。
但是我尝试输入http://localhost.com/lwjpoifwef 它不会触发我在模块配置中的任何事件。 我试过了
- $stateChangeSuccess
- $stateChangeStart
- $stateChangeError
- $http拦截器
我不确定我做错了什么。它似乎没有达到我在那里设置的任何断点。这是我所拥有的sn-p
angular.module('app').run(['$rootScope', '$state', 'service', function ($rootScope, $state, service) {
$rootScope.$on('$stateChangeSuccess', function (evt, to, params) {
alert('success');
});
$rootScope.$on('$stateChangeStart', function (event, to, params) {
alert('start');
});
$rootScope.$on('$stateChangeError', function (evt, toState, toParams, fromState, fromParams, error) {
$state.go('login');
});
}]);
angular.module('dealer-portal.core').config(CoreConfig);
function CoreConfig($stateProvider, $urlRouterProvider, $httpProvider) {
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'wwwroot/app/login/login.html',
data: {
displayName: 'Login'
}
})
.state('home', {
url: '/home',
templateUrl: 'wwwroot/app/login/login.html',
data: {
displayName: 'Home'
}
})
.state('error', {
url: '/login'
});
$urlRouterProvider.otherwise('/login');
}
【问题讨论】:
-
你可以尝试在 $stateProvider 上使用“否则”
-
我实际上也尝试过,但没有骰子。它只是直接通过它。
标签: angularjs angular-ui-router