2016-01-24 46 views
1

我正在使用UI路由器作爲我的應用程序的路由器,並且我有一種情況,即需要始終有一個資源的所有實例。 這些實例列在我的應用程序的側邊欄中。 我有這樣的起動器我routes.js文件:在控制器之間共享已解析的數據 - UI路由器

.state('auth', { 
     url: '/', 
     abstract: true, 
     controller: RootCtrl, 
     template: '<div ui-view autoscroll="true"></div>', 
     resolve: { 
      campaigns: function(UserCampaignsCollection, activeUser) { 
      return (new UserCampaignsCollection).query({user_id: activeUser.id}); 
      } 
     } 
    }) 

這意味着我不得不創建單獨的控制器,只是爲了保持所有的活動和共享與其他控制器之間,就像這樣:

_app.controller('RootCtrl', 
    function($rootScope, campaigns) { 
    $rootScope.campaigns = campaigns; 
}); 

這工作正常,因爲我解決它只有一個地方,然後我所有的其他國家只是繼承基地國家(如auth.account,auth.inovice等),但我想避免需要附加我在rootScope上的所有廣告系列。

有沒有其他的方式來傳遞數據到其他控制器,這將不涉及創建這樣的虛擬控制器,並附加數據到rootScope?

回答

相關問題