问题标签 [angularjs-injector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1804 浏览

angularjs - $injector:unpr 未知提供者:eProvider <- e <- debounce

我的应用程序中有以下控制器,它在我的机器上运行良好。当我推送到生产并且代码被缩小时,我收到以下错误:Error: [$injector:unpr] Unknown provider: eProvider <- e <- debounce. 我正在努力调试这个错误。几乎我在该主题上找到的每一篇文章都表明问题出在我的依赖注入上,但我认为这不适用于我的情况。

注意:完整的控制器有 200 多行,所以为了简洁起见,我省略了不相关的部分。

0 投票
2 回答
462 浏览

javascript - 将服务动态注入控制器

而不是在控制器中指定所有服务,例如:

是否可以使用 $inject ?我正在使用 $attrs 从 html 获取规范,我应该使用哪个服务。

0 投票
0 回答
128 浏览

dependency-injection - 概念:Angular 1.* 的 Setter 依赖注入

前言——这更像是一个概念性的讨论,而不是“如何做”。如果有一种简单的实现方法,那么我当然会感谢有关如何实现的提示,但我真的想深入了解为什么/为什么不这样做是不可能的或一个好主意。欢迎任何和所有评论/建设性批评。

基于属性/设置器的依赖注入

新的 $injector API

简单的控制器示例

角土地的其他地方

为什么?

我喜欢 javaScript 的简单性。它是一种可塑性很强但功能强大的语言。但是,我不认为我是唯一一个来自另一种编程语言的开发人员,他们渴望 JavaScript 缺少某些功能。因此,我利用继承(我知道 OMG !!!)在我的应用程序开发中构建许多基类。具体来说,我所有的角度控制器都继承自关键基类(例如 baseViewController、basePopupController 等)。

如果我打算扩展到基础控制器类之外, Angular 对基于构造函数的DI 的强制使继承有点痛苦。构造函数参数必须传递给任何子类。我希望有一种方法可以允许不同类型的依赖注入。

0 投票
1 回答
545 浏览

javascript - ui-router 包装器中的 Angular.js 循环依赖错误

我正在遵循 John Papa 的角度风格指南 ( https://github.com/johnpapa/angular-styleguide#routing ) 并在本指南中提供的角度 ui-router 周围使用自定义包装器。但是,包装器对我不起作用,并且在注入 $state 时出现循环依赖错误:

我曾尝试使用 $injector 手动注入 $state ,但这给了我一个未知的提供程序错误。

这是代码:

0 投票
1 回答
463 浏览

angularjs - 将服务变量注入指令

所以我有点麻烦。我已经查看了从Injecting service 到 Directive的所有先前解决方案,但我真的不知道我做错了什么。我有一个如下所示的 authServices。

我通过他们提出的方法注入它。

我的html是

我真的觉得我做错了。任何帮助将不胜感激。

0 投票
1 回答
2002 浏览

angularjs - 业力:如何对具有依赖关系的过滤器进行单元测试?

我正在尝试对依赖于其他服务的过滤器进行单元测试。我已经阅读了很多关于这个问题的答案,但没有解决我的问题。我使用业力/茉莉花

conf如下

我的申请如下

考试

我收到以下错误

错误:[$injector:unpr] http://errors.angularjs.org/1.4.0-rc.2/ $injector/unpr?=%24serviceNameProvider

错误:windows.inject.angular.mock.inject 的声明位置

0 投票
0 回答
35 浏览

angularjs - Angular - 离子 $injector 在 wp8 平台上为空

我有一个用 ionic 中的 angular 制作的简单应用程序(只是“离子启动项目”)。

在我的函数“运行”中,我有:

问题是,当我在 console.log 中调用 $injector 时,我收到了一个空对象,所以我无法执行“获取”(调用工厂)。

而且我在IOS,android,浏览器上没有这个问题......只需使用wp8 aka windows phone

谢谢,

0 投票
2 回答
1168 浏览

javascript - AngularJS 1.4.8 $injector:Modulerr 模块错误

我对 AngularJS 比较陌生,并且收到“未捕获的错误:[$injector:modulerr]”。此外,我在各种 js 文件的第一行遇到了几个语法错误。

错误截图

错误链接

我似乎无法纠正这种情况,有什么想法吗?

索引.html

应用程序.js

app.routes.js

0 投票
2 回答
63 浏览

angularjs - 定义后立即引用运行中的服务?

我想service在每个请求中附加一个字符串。试图:

错误:[ $injector:nomod] 模块“Foo”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

注意:我正在使用ui-router并且有多个文件;但是一个module;如果这有所作为。

0 投票
0 回答
596 浏览

javascript - AngularJS:加载另一个js文件后动态注入模块

我更广泛的问题陈述是减少主网页中使用的 JS 文件大小。我使用 grunt uglify 将其从 455KB 缩小到 140KB。

作为第二步,我将删除主页上不需要的不必要的文件。因此,我能够将初始 JS 文件大小减少到 90KB,剩下的 50KB 文件将在以后加载。

我使用了单页应用程序中提到的 Ben Thielker 的 loadScript 函数 - 基于局部视图动态加载 js 文件来将 JS 文件动态加载到头部。

现在的问题是没有加载第二个 JS 文件中定义的模块,因为它们的依赖项在应用程序开始时无法在前面提到(会抛出错误)。我想动态加载第二个 JS 文件中存在的模块。

我在前面提到的 loadScript 的回调函数中尝试了以下内容:

但是上面的代码甚至没有检测到模块。当我查看 angular 的 createInjector 函数时,我发现他们在模块名的末尾添加了一个字符串“Provider”。不确定这是否把事情搞砸了。

此外,这是 reportsApp.Grids 模块的第一行:

在这里,reportsApp.Grids 存在于初始 JS 文件本身中,但“ui.grid”仅存在于稍后加载的第二个 JS 文件中。

我应该如何在这里使用 $injector.invoke 函数?或者什么是最好的方法?