angularjs - 有条件地注入(inject) Angular 模块依赖

标签 angularjs

我是 Angular 新手,有以下代码。

angular.module('MyApp')
    .controller('loginController', ['$scope', '$http', 'conditionalDependency',
        function ($scope, $http, conditionalDependency{
}

我希望有条件地加载conditionalDependency。像这样的事情

if(true)
{
//add conditionalDependency
}

这怎么能做到。我见过this post 。但是,我的要求是我具有 function

中指定的依赖项

提前致谢。

最佳答案

不太清楚为什么您必须将其放在像示例中这样的命名函数中,但是......

如果您需要条件依赖项,我建议您查看以下内容:

Conditional injection of a service in AngularJS

我已经在几个小众场景中使用了这种方法,并且效果非常好。

示例:

angular.module('myApp').controller('loginController', 
    ['$injector', '$scope', '$http',
    function($injector, $scope, $http) {
        var service;

        if (something) {
            service = $injector.get('myService');
        }
    });

关于angularjs - 有条件地注入(inject) Angular 模块依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29617903/

相关文章:

javascript - 注入(inject)/加载包含自注册组件的服务的正确位置是什么?

unit-testing - 如何使用$ location服务对angularjs Controller 进行单元测试

mysql - 使用 Angularjs 和 ionic 框架将数据添加到 mysql 数据库

angularjs - 从 NODE 服务器发送 POST 请求到支付网关

javascript - Angular 中奇怪的路由行为

javascript - 如何加载 JSON 数组以使用 Angular-Translate 翻译 AngularJS 网页

ruby-on-rails - 多个 Angular 请求导致测试中出现错误

javascript - Angular JS 指令 - 模板、编译或链接?

javascript - 没有元素时从 Controller /指令运行简单的jQuery函数

javascript - 调用一次工厂函数