$urlRouter
(service in module ui.router.router
)
Triggers an update; the same update that happens when the address bar url changes, aka $locationChangeSuccess
.
This method is useful when you need to use preventDefault()
on the $locationChangeSuccess
event,
perform some custom logic (route protection, auth, config, redirection, etc) and then finally proceed
with the transition by calling $urlRouter.sync()
.
angular.module('app', ['ui.router']); .run(function($rootScope, $urlRouter) { $rootScope.$on('$locationChangeSuccess', function(evt) { // Halt state change from even starting evt.preventDefault(); // Perform custom logic var meetsRequirement = ... // Continue with the update and state transition if logic allows if (meetsRequirement) $urlRouter.sync(); }); });