问题标签 [angularjs-provider]
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 - 错误:[$injector:unpr] 未知提供者:$q。对 DI 语法感到困惑
片段 1 不起作用。我得到错误:[$injector:unpr] 未知提供者:$q
但是,片段 2 有效。我很困惑为什么会这样?我读过的所有工厂示例代码,在第一行注入依赖,例如 .factory('MyFactory',[$q,function($q) {}]); 为什么这种风格在上面的提供者代码中不起作用?另外,为什么我们在 GET 声明的下方注入 $q 而不是在 TITLE 声明的下方注入。
请帮忙!!!
(代码现在没有做任何事情。我只是想学习语法)
angularjs - Angularjs如何解决指令中的未知提供者错误
我在 meanjs 应用程序中收到以下错误 -
我有一个 ui-jq 指令,如下所示 -
我试图用指令加载 $scope,但我认为我做错了。谁能建议我做错了什么或者我应该在哪里寻找正确的问题
javascript - 基于角色角度的不同模板网址
我的路线配置如下:
现在我想根据用户的授权来确定登录模板不同。我已授权在服务会话中定义。我希望能够做这样的事情:
但是我不能以这种方式在配置中使用 Session。那么有什么可能的方法呢?
angularjs - 未找到下划线的提供者
我有一个 angularjs 工厂,我正在向其中注入下划线,并且应用程序运行良好,但是当我尝试在其上编写 jasmine 测试用例时,我得到一个错误下划线提供程序未找到我有我的工厂
我将我的模块定义为
我的测试用例是
其给出错误错误:[$injector:unpr] 未知提供者:underscoreProvider <- underscore
angularjs - ui-router $urlRouterProvider 等到所有状态都加载完毕
我试图通过从一些分散的文件中合并它们来动态加载一堆状态。
我用 $http.get 收集所有这些,然后用$stateProvider.state(name, config)添加所有这些。
这里一切正常。
问题是如果我输入另一个 URL,除了根 URL“/”之外,相同的 URL 永远不会被解析为正确的状态。
看来,如果我从根状态加载应用程序并从那里导航,$urlRouterProvider 可以匹配所有加载的状态,但是,如果我尝试从子状态进入应用程序,例如“/#/anotherpage ",它不能匹配任何 url/state 并且它回退到 .otherwise('/')。
就像它尝试解析 URL 而不等待加载所有状态一样。
我正在使用$urlRouterProvider.deferIntercept()尝试阻止它继续,并且在配置之后,我只是再次启用同步。
如何确保$urlRouterProvider等到在.config()期间加载所有状态,然后尝试匹配正确的状态?
谢谢。
angularjs - 在配置中使用工厂
我知道配置阶段在服务可用之前运行,但我有一种情况需要使用 amyJsonDateTimeService
来注入$httpProvider.defaults.transformResponse
这样的:
问题是myJsonDateTimeService
在其他地方用作服务,我想在拦截器的配置中重用相同的逻辑,而不是复制格式代码。
我也不知道如何创建一个myJsonDateTimeProvider
可以使用与工厂相同的逻辑的。
编辑 1
正如建议的那样,我在这样的提供者中重建了这个工厂:
不确定这是否是最好的方式,因为提供程序应该用于配置而不是提供格式化等功能。
angularjs - 在 angularjs 中使用 $routeProvider 还是使用 $stateProvider 是最佳实践?
我正在使用 angularjs 和 nodejs 构建小型应用程序,我想知道 $stateprovider 和 $routeProvider 的最佳用例是什么。
请帮忙
angularjs - 我的 AngularJS 应用程序无法在 Microsoft Edge、未知提供商中运行
我正在使用 AngularJS 开发一个 Web 应用程序。在我尝试使用 Microsoft Edge 网络浏览器运行它之前,一切似乎都运行良好:
我创建了一个名为 serviceAjax 的服务,并且在 Chrome 或 Firefox 上从未遇到任何问题。但是现在我尝试在 Edge 上使用我的应用程序时出现此错误。
我的服务声明如下:
服务Ajax.js
我在我的控制器中这样称呼它:
main.js
这个错误来自哪里,我该如何解决?
angularjs - Angular Js服务返回函数/对象?
根据角度 js文档
服务(名称,构造函数);name : name constructor : 将被实例化的可注入类(构造函数)。
从角度文档可以得出结论,服务将第二个参数作为构造函数传递,提供者通过 $injector 创建实例并通过 $get 返回。因此,每当我们将服务注入到我们的任何模块函数(控制器、指令等)中时,它都应该返回新创建的对象,即 Singleton offcourse。
现在问题来了,如果我像这样定义我的服务。
为什么第三种情况会返回一个函数?
javascript - angularJS:应用 A 的提供者在应用 B 的配置中不可用;应用 B 是附加到 DOM 的主应用
我在一个角度模块说 A 中定义了一个提供程序,我试图在另一个角度模块说 B 的配置中使用它,如以下代码片段所示:
应用程序B如下:
现在我得到了错误:
有人可以帮我破解这个吗?谢谢你。