Angular JS - UI Router L'événement stateChangeSuccess ne se déclenche pas
Je suis en utilisant L'INTERFACE utilisateur du Routeur dans mon angulaire de l'app. Je suis en train d'intégrer state change
événements, mais ils ne sont pas de tir sur changement d'état. Tout le reste fonctionne bien et il n'y a pas d'erreur dans la console. Je suis tombé sur la suite des questions similaires, mais aucun de la solution a fonctionné pour moi:
angulaire + ui-router: $stateChangeSuccess déclenchée sur l'état b, mais pas sur un.b
Qui suit est mon Angulaire code:
(function() {
angular.module("bootdemo", [
"ngResource",
"ui.router",
"bootdemo.core",
"bootdemo.index"
])
.run(function ($rootScope, $location, $state, $stateParams) {
$rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams){
alert("root change success");
})
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams, options){
alert("root change start");
})
$rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error){
alert("root change error");
})
})
.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise('/');
$stateProvider
.state('index', {
url: "/",
templateUrl: '/index/templates/welcome.html',
controller: 'IndexController as vm'
})
.state('login', {
url: "/login",
templateUrl: '/index/templates/login.html',
controller: 'LoginController as ctrl'
})
.state('home', {
url: "/home",
templateUrl: '/index/templates/home.html',
controller: 'HomeController as ctrl'
})
});
}());
Laissé aucun indice. Je ne suis pas sûr de ce que je suis absent.
source d'informationauteur hemu
Vous devez vous connecter pour publier un commentaire.
StateChange événements a été supprimée pour
ui.router >= 1.0
pour la nouvelle
ui.router
utilisation suivantesStateChangeSuccess
StateChangeStart
Cochez cette guide de migration pour plus d'informations
Si vous êtes à l'aide de la nouvelle interface utilisateur-routeur (v1.0.0), la
$stateChange*
ne fonctionnera pas. Vous devez utiliser$transitions.on*
crochets à partir de maintenant.Vous pouvez lire ici.
https://ui-router.github.io/docs/latest/modules/ng1_state_events.html
https://github.com/angular-ui/ui-router/issues/2720
$état événements sont obsolètes angulaire version > 1.0.0.
dorénavant pour l'événement de changement, nous devons utiliser $transitions
reportez-vous $transitions à partir d'ici