问题标签 [angular-providers]

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 回答
32 浏览

angularjs - 在 Angular 中,为什么我必须在配置之前声明提供程序?

为什么我被迫在将使用它的函数provider之前声明?config

换句话说,这段代码有效:

但不是这个(得到一个[$injector:unpr] Unknown provider: testServiceProvider):

(在我的真实代码中,这两个块是在单独的文件中定义的,因此加载这些文件的顺序非常重要)

我的理解是,当我调用module('app').config(...)and时module('app').provider(...),代码不会立即执行,但是当 Angular 应用程序被引导时,这就是 Angular 以正确的顺序执行不同代码的作用(即代码provider然后代码config)。

谢谢

ps1:这个问题我已经看过了,其实是一样的,但是答案更多的是建议或者猜测……

ps2:我仍在使用 Angular 1.2,也许 Angular 1.3 - 1.4 改变了?

0 投票
1 回答
430 浏览

angularjs - 使用 angular-ui-router 以角度创建嵌套路由应用程序并在模块之间切换

我想在我的应用程序中使用angular-ui-router多个子模块创建角度嵌套路由;

在“ ui-router”中,我们可以在我们的主应用配置中使用多视图$stateProvider,但是当您在其他模块中时,不能在子模块之间切换。

例如,当您在“ module1”中时,您不能声明“ module2”。

那么,如何在模块之间切换?

0 投票
4 回答
7120 浏览

angularjs - 如何防止 AngularJS 应用程序中重复的 $http 请求?

我需要防止在前一个请求给出响应之前重复向 API 发送相同的请求。我找到了一些解决方案。但是,我不想在等待响应时禁用该按钮,因为我的应用中有更多 API 调用。

我真的需要在我的 $provider .config() 中做点什么。我在这里找到了一种方法(http://blog.codebrag.com/post/57412530001/preventing-duplicated-requests-in-angularjs)。

但我需要更多澄清代码。欢迎任何关于此的参考。

0 投票
1 回答
149 浏览

javascript - 如何在使用 angularjs 中的工厂的 GPS 检测器函数内部使用 $http.post 方法时获取回调响应

当 gps 未启用时,我尝试抛出错误模式窗口。也许它已启用,然后它将使用 $http.post 方法调用 servcie 回调。但如果没有 gps 功能,它可以正常工作并返回承诺。如果在 post 方法之上使用 GPS 方法,那么我会收到一些错误,例如“Uncaught TypeError: Cannot read property 'then' of undefined”我的代码有什么问题。任何人都可以给我一些想法..

服务工厂:

在控制器中:

0 投票
2 回答
539 浏览

javascript - Angular Dependency Injection for Custom Provider $injector:modulerr

I'm struggling to get a custom provider to work with dependencies injected into it. I'm following this blog and here is my latest version of the provider in my attempts to get it working.

And here is configuring the provider:

So far I've determined that the original article was incorrectly injecting dependencies into the .provider() instead of the $get function. I've attempted to correct this but I am still getting a "Error: [$injector:modulerr]" for my "app" module when I inject the provider. If I remove the provider from my "app" config the error goes away. So I have determined it is in fact my provider that is in error.

Update

After more debugging and isolating code. I've updated the code above to reflect my new discoveries that injected providers should leave off the "Provider" at the end of their name. I've also discovered that $injector and $provide services are causing errors. Can you not inject these services into a provider? It seems right now things are erroring when my app tries to call the registerView function. I believe the $route.resolve isn't resolving correctly.

0 投票
1 回答
562 浏览

angularjs - 如何等待 .config 中的角度提供程序完全加载

我正在为 app.js 中的 .config 中的 services.js 中的 .provider 内的 url 变量设置一个值

服务.js:

app.js(在 .config 中的 json 请求中):

当我尝试在控制器内使用 baseurl 提供程序的 get 方法时,我得到 null (起始值),因为 app.js 中 .config 内的 json 请求太慢了。

控制器.js:

如何加快进程/减慢控制器速度?

0 投票
1 回答
66 浏览

javascript - Angular Js:工厂、服务和提供者。什么时候用哪个?

我发现网上有很多答案,这里在堆栈溢出中。但是,没有人明确说明在哪种情况下使用哪一个,因为这三个都可以执行相同的一组功能?

请说清楚。

0 投票
0 回答
1944 浏览

angularjs - Angularjs Provider:不是一个函数

我正在尝试使用应允许自定义配置的提供程序来配置我的模块。这是我的提供者:

这是我使用 Provider 的应用程序:

三个函数 setOnForbidden、setOnTokenExpired 和 setOnUauthenticated 单独工作正常,但是当我添加它时,MyModuleProvider.setBaseUrl("http://localhost:8080/");它返回以下错误:

由于以下原因无法实例化模块 myApp:TypeError: MyModuleProvider.setBaseUrl is not a function

为什么?Provider 代码有问题吗?

0 投票
1 回答
1967 浏览

typescript - angular2 没有 NavigationService 的提供者!(菜单组件 -> 导航服务)

我正在尝试创建一个角度(beta7)应用程序。在顶部应该有一个MenuComponent使用NavigationService导航到我的应用程序的不同部分。我希望它NavigationService是单例的,因此我用bootstrap(...). 我知道您也可以在其中添加提供程序,@Component()但据我所知,这意味着这些提供程序不是单例的,而是每个实例创建的。

但是我收到以下异常:

NavigationService 没有提供者!(菜单组件 -> 导航服务)

这是我的代码:

引导.ts

应用程序.ts

应用程序.html

菜单.ts

导航服务.ts

0 投票
1 回答
119 浏览

javascript - Angular 工厂仅返回部分资源响应

我有一个 Angular 工厂DogePrice

典型的 api 响应是这样的:

这是 JSfiddle 示例

如何创建只返回data.price字段的工厂?我想要一个干净的控制器,只有$scope.price = DogePrice.get();或类似的东西。