从我的AngularJS注入器获取延迟/承诺时获取“未知提供者:$qProvider < - $q”

前端之家收集整理的这篇文章主要介绍了从我的AngularJS注入器获取延迟/承诺时获取“未知提供者:$qProvider < - $q”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个简单的示例,我从AngularJS的服务解决方案中获取promise / defer对象:

var $q;

function init() {

    var $injector = window.angular.injector();
    console.log($injector);
    $injector.invoke(["$q",function (_$q) {
        console.log($q);
        $q = _$q;
    }]);

}

init();

但它导致:

Error: Unknown provider: $qProvider <- $q
[Break On This Error]
throw Error(“Unknown provider: ” + path.join(‘ <- ‘));

我能错过什么?

解决方法

您必须添加提供程序所在的模块,如下所示:

var $injector = window.angular.injector(['ng']);

然后它会工作!

编辑:关于’ng’模块,文档明确指出必须明确添加. From the angular injector docs

modules – {Array.<string|Function>} – A list of module functions or their aliases.
See angular.module. The ng module must be explicitly added.

猜你在找的Angularjs相关文章