可以在.config部分注入$ q和$ http

 mobiledu2502882737 发布于 2023-02-09 22:05

是否可以在我的模块的配置部分注入$ q?下面是我的示例配置部分.

.config(['$q', function ($q) {
    var func = function (inp) {
        var def = $q.defer();

        if (inp == 1)
            def.resolve("Success");
        else
            def.reject("Failure");

        return def.promise;
    };

    alert(func(1));
}]);

我得到的第一个错误是 未捕获错误:未知提供者:来自ReportModule的$ q 如果我改变了

.config(['$q', function ($q) {}])

.config(['$qProvider', function ($q) {}])

然后我得到一个错误说Uncaught TypeError:Object#没有来自ReportModule的方法'defer'

好像我不能在配置部分注入$ q.是这样的,还是我做错了什么?我有一个用例,我需要在我的模块的配置部分使用$ q和$ http进行初始化.这有什么技巧吗?

2 个回答
  • 您可以使用angular.injector加载$http$q配置块中的其他服务:

    angular.module('myApp').config(function () {
        var injector = angular.injector(['ng']),
            http = injector.get('$http'),
            q = injector.get('$q');
    });
    

    2023-02-09 22:18 回答
  • 正确 - 你不能从配置函数注入$ http或$ q.它们尚不可用(它们也正在配置!).

    2023-02-09 22:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有