问题标签 [angular2-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 投票
2 回答
7766 浏览

angular - 例外:没有标头提供者!(应用程序 -> Api -> 标头)

只是无法弄清楚为什么我仍然会遇到这个缺少的 Headers 提供程序问题。

我的 bootstrap.ts:

我的 app.ts

我的 api.ts 服务:

完整错误:

0 投票
2 回答
1459 浏览

javascript - 如何在angular2中全局导入Javascript库

我正在尝试在 angular2 中导入 moment.js 库。我发现以下解决方案为:

但是,我不想将它导入到我拥有的每个组件中。有没有办法在全局范围内注入它,以便我可以在所有组件中使用它?

0 投票
1 回答
564 浏览

angular - Angular 2 angular2.dev.js:23925 例外:错误:未捕获(承诺):没有提供者

我正在尝试将具有配置文件 (datService.configuration) 的 Angular 服务 (DataService) 加载到组件 (Home) 中。在我的 Home 组件中,如果我不将 DataServiceConfiguration 添加到提供程序列表中,我会收到以下错误:

“未捕获(承诺):DataServiceConfiguration 没有提供者!(Home -> DataService -> DataServiceConfiguration)”

数据服务.ts:

dataService.configuration.ts:

主页.ts

我不明白为什么需要将 DataServiceConfiguration 添加到我的 Home 组件中,因为我的 DataService 已经加载了它。有没有办法只将 DataService 添加到我的组件中?

0 投票
6 回答
36693 浏览

angular - Angular2 中的提供者是什么?

在 Angular2 组件配置providers中是我们可以指定的键之一。这些提供者是如何定义的,它们的用途是什么?

注意

Angular2 文档正在逐渐成熟,但仍然很少。它目前将提供者定义为:

组件所需服务的一组依赖注入提供程序。

这个递归定义不是很有帮助。通过示例进行更详细的解释确实会有所帮助。

0 投票
2 回答
1096 浏览

angular - 没有服务提供商

我正在尝试使用 2.0.0-beta.17 进入 angular2。我想从服务中读取数据,但无论我做什么,我都会遇到异常:

我在这里经历了几十个相同的问题,但没有一个有效。

这是我的服务类:

Language 是一个简单的 typescript 类,它应该最终从 web 服务调用中检索到,但我并没有那么远。

LanguageService 由 LanguageBrowser 组件使用

LanguageCollection 是另一个组件,它采用语言列表并在选择列表中的一种语言时发出事件。LanguageDetail 仅显示所选语言。它们都无关紧要(我假设),所以我将在这里排除它们。

正如另一个答案所建议的那样,我添加了 system-polyfills.js 和 es6-shim.js 作为脚本包含但无济于事。这是我布局的相关部分:

引导看起来像这样:

和 AppComponent 是这样的:

我的 package.json 中的依赖项:

正如 npm 安装告诉我 angular2 需要反射元数据和 rxjs 的 peerDependencies 我只是将它们包含为 peerDependencies。我也将它们作为常规依赖项,没有任何变化。

显然我错过了一些东西,但我无法找出它可能是什么。浏览了 angular2 的几个教程,但没有一个能成功。

0 投票
1 回答
4014 浏览

javascript - 如何将提供程序添加到 Angular 2 中的服务类?

我有一个使用服务的组件。该组件看起来像这样:

如您所见,我HTTP_PROVIDERS在组件中添加了提供程序。这很有效,因为 DI 现在知道这些http类了。但是,TestService真正使用Http课程的是我的,而不是我的TestComponent.

我觉得既然是使用Http类的服务,它应该是包含提供者本身的服务。他们TestComponent不知道供应商TestService需要什么。

由于服务类没有那个组件装饰器,我不确定如何实际向它添加提供程序。如何将提供者添加到Service课程中?

0 投票
1 回答
428 浏览

angular - Angular2 - 提供者列表作为常量不起作用

我正在尝试为XHRBackend该类创建一个包装器,并且我已经能够在最外层成功地创建和使用所有提供的服务,AppComponent但我无法将提供程序打包到实际服务本身中。我将类注入到组件构造函数中,但我无法想象这会破坏任何东西。

当前AppComponent代码:

所需AppComponent代码:

从后端包装器中导出的所需常量:

当我尝试这样做时One or more of providers for "AppComponent" were not defined,我的控制台中出现一个错误,因为XHRBackendWrapper找不到。我在这里想念什么?

我不能发布所有代码,因为它会使这个问题太大,但是,如果它有帮助,这是 XHRBackendWrapper 的一般想法:

0 投票
2 回答
3285 浏览

angular - 没有 HttpService 的提供者

当我运行以下项目时,出现错误:

没有 HttpService 的提供者!(AppComponent -> HttpService)

有人能帮助我吗?

我的应用组件:

服务:

和 boot.ts:

问题出在哪里?

0 投票
3 回答
742 浏览

angular - 在 Ionic 2 应用程序中使用自定义 Http 服务

我对 Ionic 2 应用程序 (v2.0.0-beta.30) 中的每个 HTTP 请求都有一些我想做的事情,所以我创建了自己的 Http 类来扩展 angular 的服务。像这样的东西:

我有东西当前正在调用函数Http,我不想更改所有要调用的东西MyHttp。我希望任何发出请求的东西都不知道也不关心它实际上是在调用MyHttp. 似乎应该有一种方法可以提供MyHttp而不是Http,我只是不确定您将在哪里使用 Ionic 2 应用程序来执行此操作。

我尝试添加这样的ionicBootstrap功能:

这只是给了我死亡的白屏。我还尝试像这样添加到类的@Component装饰器中MyApp

这给出了相同的白屏。我不确定我是否理解差异,因为我尝试过toAlias而不是toClass得到相同的结果。

MyHttp当有任何东西要注射时,我如何告诉注射器注射Http

- - - - 更新 - - - - - -

我终于通过我的尝试绕过了死亡的白屏,也包括HTTP_PROVIDERS在提供者的数组中。但是,它仍然是注入Http而不是MyHttp在使用它的其他服务中。我已经尝试了以下各项:

所依赖的服务Http如下所示:

我在这里放了一个调试器,我可以看到它是 angular'sHttp而不是MyHttp.

-------- 更新 2 ------------

我尝试用不同的班级做同样的事情,我确实看到它有效。例如:

我看到MyOtherClass2它要求时被注射MyOtherClass。所以,我不知道我是否做错了什么,MyHttp或者Http. 有没有人能够成功地做到这一点Http

0 投票
2 回答
53 浏览

javascript - 这 3 个 Angular2 命令导入的是什么?

我正在使用这个示例应用程序在 ES6 JavaScript 中学习 Angular2 。具体来说,我试图从整个应用程序的根 JavaScript 文件开始绘制依赖链,即boot.js有人可以解释一下以下三行究竟导入了什么boot.js

当我导航到上面 GitHub 链接中的'./app/core''./app/auth''./app/posts'目录时,这些目录中有很多嵌套文件,我不清楚..._PROVIDERS上述三个命令究竟传递给三个变量的是什么。其他人可以解释一下吗?

的完整代码boot.js是: