teclado example eventos evento event angularjs angular-ui-router single-page-application

example - AngularJS-El evento UI Router stateChangeSuccess no se dispara



eventos de teclado angular (3)

Estoy usando UI Router en mi aplicación angular. Estoy tratando de integrar eventos de state change , pero no están activando el cambio de estado. Todo lo demás está funcionando bien y no hay error en la consola. Me encontré con preguntas similares, pero ninguna de las soluciones funcionó para mí:

$ rootScope. $ on ("$ routeChangeSuccess) o $ rootScope. $ on (" $ stateChangeSuccess) no funciona cuando se utiliza ui-router (AngularJS)

angular + ui-router: $ stateChangeSuccess activado en estado b pero no en ab

El siguiente es mi código Angular:

(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'' }) }); }());

Se fue sin ninguna pista. No estoy seguro de lo que me estoy perdiendo.


Los eventos de StateChange han quedado en desuso para ui.router >= 1.0

Para el nuevo ui.router

StateChangeSuccess

$transitions.onSuccess({}, function() { console.log("statechange success"); });

StateChangeStart

$transitions.onStart({}, function(trans) { console.log("statechange start"); });

Consulte esta guía de migración para más información.



Los eventos $ state están en desuso para la versión angular> 1.0.0. ahora en adelante para el evento de cambio tenemos que usar $ transiciones

refiera $transitions desde aquí