2015-08-14 76 views
0

我有一個處理所有用戶功能的userService。爲了用數據填充它,我的_Layout.cshtml創建了一個全局的currentUser變量,然後我想把它放入我的userService。我如何在引導過程中做到這一點?在控制器外部調用服務/工廠

這種感覺就像我應該可以做這樣的事情:

var myApp = angular.module('myApp', [...]); 
var userService = myApp.create("userService"); 
userService.setUser(currentUser); 

回答

1

您可以使用run執行此使用的控制器之前。沿着線的東西:

myApp.run(['userService', function(userService){ 
    userService.setUser(currentUser); // Consider injecting currentUser, too... 
}]); 

如果它需要早於run事件被觸發(儘管,通常,對於這一類的東西run應該足夠了),你可能會想要把它放在完成一個config函數(myApp.config(/*etc.*/);)。

但是,那些無法訪問典型Service供應商,所以你必須做更多的自定義:https://stackoverflow.com/a/21650337/624590