如何取消注入先前在AngularJS中使用$ inject包含的依赖项

时间:2014-12-22 10:08:25

标签: angularjs dependency-injection angularjs-injector

我一直在阅读官方文档https://docs.angularjs.org/api/auto/service/ $ inject但未能找到如何取消注入依赖项。

我的情景:

我有一个对用户进行身份验证的服务,以及一些只对经过身份验证的用户有意义的服务。

我希望以编程方式处理成功的登录注销,并根据用户是否已登录注入 - 取消注入其他服务。

是否有人知道是否可以动态地在AngularJS应用中注入依赖项?

1 个答案:

答案 0 :(得分:1)

angular.module('app',[]).controller('appCtrl', ['userService', function(userService){
    if (userService.loggedOut){
        userService = undefined;
    }
}])

http://plnkr.co/edit/0R64sqdEfBPUjhKu6tPK?p=preview