官网信息:https://ui-router.github.io/ng1/docs/latest/modules/ng1_state_events.html
Legacy state events
Polyfill implementation of the UI-Router 0.2.x state events.
The 0.2.x state events are deprecated. We recommend moving to Transition Hooks instead, as they provide much more flexibility, support async, and provide the context (the Transition, etc) necessary to implement meaningful application behaviors.
To enable these state events, include thestateEvents.js
file in your project, e.g.,
<script src="stateEvents.js"></script>
and also make sure you depend on theui.router.state.events
angular module, e.g.,
angular.module("myApplication", ['ui.router', 'ui.router.state.events'] ---------------------------------------------------------------------------------------------------
已知UI-Router在0.2.x中的state events在UI-Router1.x中被弃用,所以一定要手动引入
stateEvents.js以及注入
'ui.router.state.events';在于gulp构建的项目中:bower.json的"overrides"对向下添加
"angular-ui-router": {
"main": [
"release/angular-ui-router.js",
"release/stateEvents.min.js"
]
};
接着在app.run.json中就可以直接使用'$stateChangeStart'
=》
'use strict';
angular.module("myApp")
.run(['$rootScope', '$state','$location', function ($rootScope, $state, $location) {
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
console.log(toParams.t)
console.log(toParams.c)
$rootScope.accessToken = toParams.t
$rootScope.clientId = toParams.c
})
}])
原创;转载请标注!