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

javascript - Angular Material 对话框:错误:StaticInjectorError[TicketService]

我遇到了提供者声明的问题。主要逻辑是您创建一个服务并在 AppComponent 上声明该服务,供孩子们使用。但是当我使用父服务声明时,我得到了错误。

应用程序组件有提供者,所以我不应该在 CreateComponent 中声明提供者标签。并且标头也成功地使用了这个提供程序,但产生了问题。如果您需要有关代码的更多详细信息,我可以提供。

应用组件.ts

应用模块.ts

header.component.ts

创建.component.ts

票务服务

程序结构是程序结构在这里

0 投票
5 回答
38426 浏览

testing - 如何仅针对一项测试覆盖 Angular 5 中的 Provider?

在我的一个单元测试文件中,我必须用不同的模拟模拟多次相同的服务。

我看到函数overrideProvider存在,但我没有设法在测试中使用它。当我在“它”中使用它时,提供者不会改变。我没有找到调用此函数的示例。你能解释一下如何正确使用它吗?还是您有其他方法可以做到这一点?

0 投票
0 回答
70 浏览

javascript - 没有路由器 Angular 4 的提供者

我正在开发一个 Angular 应用程序,我没有在我的项目中的任何地方使用 Routes,但我在我的 web 开发工具中收到了这个错误:

在终端中,项目正在正确编译。

ng -v 给出了这个。

昨天还在工作,主要区别是我添加了一些抽象类、服务和 Http 请求

0 投票
1 回答
1459 浏览

angular - Angular 依赖注入:提供者与导入

关于依赖注入的 Angular 文档让我感到困惑。
我了解 Angular DI 的工作原理是通过传递给 NgModule(对于整个模块)或 Component(对于该组件)的元数据对象上的 providers 数组向 DI(注入器)指定要“提供”的东西。

这个问题并不特定于反应形式,但在反应形式的 angular.io 示例中,它的组件定义为(简化!):

现在这有效(我有一个反应形式工作),但如何?在 Component providers 数组或其包含的 NgModule 提供程序数组中没有 FormBuilder 的“提供程序”。然而,Angular DI 文档坚持提供者数组是为 DI 注册某些东西的唯一方法。这是怎么回事?一些注入的东西怎么可能不需要在提供者数组中?

提前致谢。


更新答案

啊! 我从提供程序页面看到:“当您导入具有提供程序的模块时,这些提供程序也可用于应用程序中的所有类,只要它们具有查找令牌。例如,如果您将 HttpClientModule 导入您的 AppModule,它的然后,整个应用程序都可以使用提供程序,您可以从应用程序的任何位置发出 HTTP 请求。” https://angular.io/guide/providers

我没有意识到导入模块的提供者会自动成为导入模块的提供者。

0 投票
1 回答
19 浏览

angular - 角度提供程序错误

但是,当我将数据源更改为

我收到这个错误

你能帮我解决这个问题吗

问候

0 投票
1 回答
101 浏览

angular - “MobileService”类型上不存在属性“getmobileList”。角 4

从 NgoninIt 取出代码后我正在研究 Angular 4。

所以创建了一个自定义服务,我导入到提供者中 app.module.ts ,我创建了一个接口

当我尝试从该服务中检索数据时

我收到一个错误

D:/Personal/My Practice/MOBILEKART/src/app/mobiles/mobiles.component.ts (61,40) 中的错误:“MobileService”类型上不存在“getmobileList”属性。

任何人都可以建议发生了什么..

我尝试按照此链接中的建议公开我的财产

- 提前致谢。

mobile Component.ts

mobile.ts

mobile_service_ts

app.module.ts

0 投票
1 回答
307 浏览

angular - 在同一模块中提供拦截器和依赖自定义服务的问题

我有AppModule片段,我在其中注入令牌处理拦截器

我的拦截器

接收错误

如果我在拦截内进行注入:

然后相对误差:

我尝试了 Angular git Cyclic dependency error with HttpInterceptor #18224中提到的解决方案, 但仍然没有成功。

0 投票
0 回答
1527 浏览

angular - angular injection.providedIn vs module.providers

一种常见的做法是将服务包括在@NgModule.providers

根据Angular 教程,您可以提供服务,而无需在@NgModule装饰器中指定它,使用@injectable.providedIn

使用 Angular 教程中介绍的方法有什么好处吗?

0 投票
0 回答
317 浏览

angular-providers - angular 2+ 从提供者中获取位置

我刚刚开始尝试学习 Angular。我熟悉 Angular JS,并决定投身 2+。显然,我开始使用 Angular 6。那是一个很大的飞跃。

当应用程序启动时,我试图从我的 API 获取一些信息。为此,我创建了一个提供程序,并对一些我需要的信息进行了硬编码以使其工作。现在我正在尝试删除硬编码部分并实际从当前位置获取一个 url 段。我尝试过使用路由器,也尝试过使用位置。我不断收到一条消息,说他们没有提供者。我不知道如何解决这个问题。我首选的解决方案不是使用 window.location,而是我可以模拟和/或单元测试的东西。

app.module.ts

siteGuid.provider.ts

0 投票
1 回答
694 浏览

dependency-injection - Angular 6:在另一个服务中延迟加载服务/提供者

由于孩子的知识,我试图将提供者延迟加载到父母中。想象一下:

ServiceBImpl只是一个接口

ServiceA加载到根目录AppModule

MY_TOKEN加载在子注射器中。但是,我不要求MY_TOKEN在这个组件中,我要求ServiceA.

这不起作用。

让我明确一点,我不想ServiceA在组件级别的提供程序中拥有它,而是从AppModule.

这是一个测试: https ://stackblitz.com/edit/angular-u8tbwx