シナリオは単純ですが、角度を使用するローカルサイトがあります。私は私の州のプロバイダが私たちのルータのlibを設定している。Angularjs ui-router 404が評価されていない
http://localhost.com/#/lwejfpwefと入力すると、他の賢明な節に適切にリダイレクトされ、状態 '/ login'になります。
しかし、私はhttp://localhost.com/lwjpoifwefで入力しようとしましたが、私は自分のモジュール設定で持っているイベントを起動しません。 私は私が私が間違っているのかわからないんだけど
- $ stateChangeSuccess
- $ stateChangeStart
- $ stateChangeError
- $ httpinterceptors
を試してみました。それは私がそこに入れたブレークポイントのどれにも当たらないようです。ここで私は
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');
}
あなたは "otherwis e "を$ stateProviderに追加 –
私は実際にもそれを試してみました。それはちょうどそれをそのまま通過します。 –