2015-08-14 71 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