resolve property of $routeProvider allows to execute some jobs BEFORE corresponding view is rendered.
resolve
$routeProvider
What if I want to display a spinner
In ui-router 1.0 $stateChange* events are deprecated. Use transition hook instead. See migration guide below for more details.
https://ui-router.github.io/guide/ng1/migrate-to-1_0#state-change-events