问题标签 [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 回答
374 浏览

angularjs - 使用 angular.injector 和 ngAnimate

我已将“ngAnimate”作为我的 ngApp 的依赖项。

现在在一个 jQuery 文件中,我正在尝试使用:

但这给了我一个错误

然后我将其更改为:

这些也不起作用。

然后我尝试了:

即,我使用了定义的 ngApp 的注入器并且它起作用了。为什么这样 ?

0 投票
1 回答
359 浏览

angularjs - angularjs - 从另一个模块中的控制器访问工厂

这是 myApp 模块下的工厂代码

控制器位于 myApp.user 模块下

这是注入 myApp.user 的主要应用程序级模块 -

如何从“myApp.user”模块中的控制器访问“myApp”模块中的工厂?

0 投票
1 回答
2457 浏览

angularjs - 如何使用 $injector 加载 angularjs 指令

我正在尝试使用来自其他模块的指令,这些指令由加载angular.injector但 angular 无法理解other_module.
在我的主文件中,我声明了我的模块。

在第二个文件中,我尝试添加 angularCharts 作为依赖项:

然后我使用angularCharts's 指令,但 angularjs 无法识别它们。我知道我们应该在声明模块时添加依赖模块,但这是特殊情况。

0 投票
4 回答
3118 浏览

angularjs - : [$injector:unpr] angularjs 中的未知提供者无法将工厂注入控制器

我有一个未知的提供程序错误,我不知道如何解决它。我认为我的服务、控制器已正确声明。我已经尝试了一切,但它不起作用。我的 photosFactory 工厂不工作。它没有注入控制器。我会很感激任何帮助。

我的 app.js :

我的 controllers.js :

我的 services.js :

0 投票
0 回答
515 浏览

angularjs - 如何将 $location 注入到配置函数中定义的单击事件处理程序中

我正在修改一些作为 AngularJS 分析框架插件的代码。在插件中,我想访问$location本质上是$routeChangeSuccess处理程序的对象。事件处理程序是在配置函数中定义的,但是当代码实际执行时,我的理解是 $location 应该可用。

以下不起作用:

在这种情况下,$injector找不到$location服务。在进一步挖掘中,我发现这是因为我拥有的注入器实际上是提供程序注入器(因为这是config函数给我的)而不是实例注入器(它有$location)。

有什么方法可以让我获得实例注入器,而不是提供者注入器?我很确定实例注入器在代码实际运行时完全可用。如果我错了,那我也想知道!谢谢!

0 投票
1 回答
2541 浏览

angularjs - 创建一个通用的 angularjs listController

Angular ui-router 允许我解决可以在我的控制器中使用的不同注入。

我创建了一个简单的通用 ListController,并在 ui-router 中注入了一个对象,该对象包含特定于该特定视图的 CRUD 函数以及模板。

因此,例如,假设我有 2 个具有相同“crud”语法的服务:

我创建了一个映射对象来将这些服务的 CRUD 函数映射到我的通用控制器中,该控制器是通过 ui.router 注入的。

通用控制器:

路由器:

因此,您也可以将它与汽车一起使用,只需在其状态定义中注入不同的函数映射即可。

奇迹般有效。

但现在我希望能够在 div 中使用我的控制器,而不仅仅是在全视图中。现在问题来了:

如果我使用 ng-controller 指令,注入器将不知道提供什么作为 'itemList' 或 'functions'(这是映射对象),但如果我通过 $controller 对象实例化它,那么它不会没有自己的范围,我得到一个

因为它无法创建自己的子范围。我想我可以通过 $rootScope.$new() 或类似的东西创建一个新范围,但感觉太像黑客了,因为我是新手到角度,我认为这对于这样的事情可能是一个不好的方法..

有小费吗?

0 投票
1 回答
189 浏览

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

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

我的场景:

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

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

有谁知道是否可以在 AngularJS 应用程序中动态反注入依赖项?

0 投票
1 回答
255 浏览

angularjs - IIFE 中断拦截器 - 未知提供者

我正在使用拦截器将 JWT 令牌添加到我的 http 调用中。我的代码像这样工作正常:

但是,如果我将其包装在 IIFE 中,则会收到 Unknown Provider 错误:

我不能使用 IIFE 吗?

编辑:这里有更多细节

错误消息是这样的:http : //errors.angularjs.org/1.3.8/$injector/unpr?p0=authInterceptorServiceProvider%20%3C-%20authInterceptorService%20%3C-%20%24http%20%3C- %20%24templateFactory%20%3C-%20%24view%20%3C-%20%24state

源代码可在此处获得: https ://github.com/capesean/JWTKickStart/tree/master/JWTKickStart.APP/app

0 投票
1 回答
931 浏览

angularjs - Angular Bootstrap 后加载模块

我正在尝试在应用程序引导后加载和注入模块。例如,假设我的初始模块是:

后来我意识到用户需要通过所有可用的路线secondaryApp向他们开放。所以现在我需要我的模块看起来像这样:

我成功lazyLoading了secondaryApp js文件,但是我无法将它添加到mainApp中。我已经尝试将它添加到需要数组中,即

这会将模块名称添加到 requires 数组,但mainApp仍然无法访问secondaryApp.

有没有人有什么建议?我已经坚持了一段时间了。

谢谢!

0 投票
2 回答
3578 浏览

angularjs - .config() 中带有自定义提供程序的未知提供程序

我在 app.js 中有这个:

这个服务在另一个文件中:

服务 js 文件没有 404 错误,但是当角度注入器尝试实例化时,它给了我这个错误:

我遵循了 angjs 文档https://docs.angularjs.org/guide/providers