问题标签 [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.
angularjs - 使用 angular.injector 和 ngAnimate
我已将“ngAnimate”作为我的 ngApp 的依赖项。
现在在一个 jQuery 文件中,我正在尝试使用:
但这给了我一个错误
然后我将其更改为:
这些也不起作用。
然后我尝试了:
即,我使用了定义的 ngApp 的注入器并且它起作用了。为什么这样 ?
angularjs - angularjs - 从另一个模块中的控制器访问工厂
这是 myApp 模块下的工厂代码
控制器位于 myApp.user 模块下
这是注入 myApp.user 的主要应用程序级模块 -
如何从“myApp.user”模块中的控制器访问“myApp”模块中的工厂?
angularjs - 如何使用 $injector 加载 angularjs 指令
我正在尝试使用来自其他模块的指令,这些指令由加载angular.injector
但 angular 无法理解other_module
.
在我的主文件中,我声明了我的模块。
在第二个文件中,我尝试添加 angularCharts 作为依赖项:
然后我使用angularCharts
's 指令,但 angularjs 无法识别它们。我知道我们应该在声明模块时添加依赖模块,但这是特殊情况。
angularjs - : [$injector:unpr] angularjs 中的未知提供者无法将工厂注入控制器
我有一个未知的提供程序错误,我不知道如何解决它。我认为我的服务、控制器已正确声明。我已经尝试了一切,但它不起作用。我的 photosFactory 工厂不工作。它没有注入控制器。我会很感激任何帮助。
我的 app.js :
我的 controllers.js :
我的 services.js :
angularjs - 如何将 $location 注入到配置函数中定义的单击事件处理程序中
我正在修改一些作为 AngularJS 分析框架插件的代码。在插件中,我想访问$location
本质上是$routeChangeSuccess
处理程序的对象。事件处理程序是在配置函数中定义的,但是当代码实际执行时,我的理解是 $location 应该可用。
以下不起作用:
在这种情况下,$injector
找不到$location
服务。在进一步挖掘中,我发现这是因为我拥有的注入器实际上是提供程序注入器(因为这是config
函数给我的)而不是实例注入器(它有$location
)。
有什么方法可以让我获得实例注入器,而不是提供者注入器?我很确定实例注入器在代码实际运行时完全可用。如果我错了,那我也想知道!谢谢!
angularjs - 创建一个通用的 angularjs listController
Angular ui-router 允许我解决可以在我的控制器中使用的不同注入。
我创建了一个简单的通用 ListController,并在 ui-router 中注入了一个对象,该对象包含特定于该特定视图的 CRUD 函数以及模板。
因此,例如,假设我有 2 个具有相同“crud”语法的服务:
我创建了一个映射对象来将这些服务的 CRUD 函数映射到我的通用控制器中,该控制器是通过 ui.router 注入的。
通用控制器:
路由器:
因此,您也可以将它与汽车一起使用,只需在其状态定义中注入不同的函数映射即可。
奇迹般有效。
但现在我希望能够在 div 中使用我的控制器,而不仅仅是在全视图中。现在问题来了:
如果我使用 ng-controller 指令,注入器将不知道提供什么作为 'itemList' 或 'functions'(这是映射对象),但如果我通过 $controller 对象实例化它,那么它不会没有自己的范围,我得到一个
因为它无法创建自己的子范围。我想我可以通过 $rootScope.$new() 或类似的东西创建一个新范围,但感觉太像黑客了,因为我是新手到角度,我认为这对于这样的事情可能是一个不好的方法..
有小费吗?
angularjs - 如何取消注入以前在AngularJS中使用$inject包含的依赖项
我一直在阅读官方文档https://docs.angularjs.org/api/auto/service/ $injector 但未能找到如何取消注入依赖项。
我的场景:
我有一个对用户进行身份验证的服务,以及一些只对经过身份验证的用户有意义的服务。
我想以编程方式处理成功的登录-注销,并根据用户是否登录来注入-取消注入其他服务。
有谁知道是否可以在 AngularJS 应用程序中动态反注入依赖项?
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
angularjs - Angular Bootstrap 后加载模块
我正在尝试在应用程序引导后加载和注入模块。例如,假设我的初始模块是:
后来我意识到用户需要通过所有可用的路线secondaryApp
向他们开放。所以现在我需要我的模块看起来像这样:
我成功lazyLoading了secondaryApp js文件,但是我无法将它添加到mainApp中。我已经尝试将它添加到需要数组中,即
这会将模块名称添加到 requires 数组,但mainApp
仍然无法访问secondaryApp
.
有没有人有什么建议?我已经坚持了一段时间了。
谢谢!
angularjs - .config() 中带有自定义提供程序的未知提供程序
我在 app.js 中有这个:
这个服务在另一个文件中:
服务 js 文件没有 404 错误,但是当角度注入器尝试实例化时,它给了我这个错误:
我遵循了 angjs 文档https://docs.angularjs.org/guide/providers