How to rerun controllers after global data is resolved? <p>I resolve data on application load in a run block...</p> <pre><code>.run(function($rootScope, $q, teams, schools, news, games){ // go out and grab all the relevant data $rootScope.showSplash = true; $q.all([ $rootScope.school = schools.get({id:1}), $rootScope.teams = teams.query({id:1}), $rootScope.news = news.query({id:1}), $rootScope.games = games.query({id:1}) ]).then(function(){ setTimeout(function(){ $rootScope.showSplash = false; $rootScope.$digest(); }, 1000); }) }) </code></pre> <p>I have a controller whose scope should clone the data via $rootScope...</p> <pre><code>.controller('NewsDetailCtrl', function ($scope, $routeParams) { $scope.newss = $scope.news.filter(function(news){ return news.id == $routeParams.id; }).shift(); }); </code></pre> <p>If the user is on the new-detail.html page, no data is present because the $scope clones an empty array. Is it possible to rerun the controllers when that information is received?</p>