问题标签 [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 投票
1 回答
101 浏览

angular - Angular2 提供者

我没有完全掌握提供者,也无法弄清楚这一点。我有一个带有构造函数的类: constructor(private http:Http, private url:string, private ext:string){}

在引导程序中,我如何告诉 DI 提供 Http 但然后使用两个变量:environment.urlenvironment.ext提供字符串?

我知道我需要使用提供者,但它不会接受令牌字符串,我需要指定多次,并且仅在我的班级的情况下,而不是全局。

注意: 我知道我可以在我的类中导入environment.urlenvironment.ext,但我想通过构造函数设置这两个参数以最小化依赖关系。

0 投票
1 回答
500 浏览

angular - Angular 2 提供者异常

将服务注入组件时,我看到了错误:

未定义一个或多个提供程序“CategoriesComponent”:[?、[object Object]、BrowserXhr、[object Object]、[object Object]、XHRBackend、[object Object]]。

请帮我解决这个问题。非常感谢

下面是我的代码:

类别.services.ts

类别.component.ts

navbar.component.ts

0 投票
1 回答
1193 浏览

angular - Angular 2 - 使用“多”提供者覆盖 Http

我想Http用一个自定义类覆盖,比如说HttpClient在请求之前和响应之后做一些操作,但是我不想记住导入那个类而不是平台 http 类。

我一直在尝试通过“多”供应商来做这件事,但我不能让它点击。

这是我的覆盖类:

这是我的 main.ts

但是当我尝试在我的应用程序中调用 http.get() 时,我得到了

有任何想法吗?我会以错误的方式解决这个问题吗?

谢谢!

更新

我找到了这篇博文。它几乎描述了 Gunter 在下面描述的内容。我接受他的回答。

0 投票
2 回答
11416 浏览

unit-testing - 带有模拟的Angular 2 TestBed

我正在尝试测试使用其他服务的组件。我想通过为服务提供模拟来隔离组件。在 RC5 之前,我可以简单地使用addproviders它现在已弃用并将被下一个 RC 删除。相反,我必须使用TestBed. 当我出于某种原因提供模拟角度时,请继续寻找模拟所依赖的服务。并抛出一个DI exception. 当我提供所有依赖项时,测试工作,但我不想为每个测试套件重复自己。这打破了基本的面向对象原则。我的测试套件:

角 2.0.0-RC5

0 投票
4 回答
2151 浏览

angular - RuntimeCompiler 没有运行时提供程序

我正在尝试遵循此处接受的答案,并致电 RuntimeCompiler.clearCache()

这是我尝试过的方法:

但我收到了这个错误:

我在这里想念什么?

0 投票
1 回答
92 浏览

angular - Angular 2 RC 5 全球供应商

我怎样才能拥有一个只初始化一次的全局提供程序。所以我有以下提供者

然后是一个共享模块

导出类 SharedModule {

代码正在运行,这里的问题是每次我更改路由时都会初始化 ApiRequest 构造函数,因此每个页面都会更改。如何使 ApiRequest 提供程序在整个应用程序中只初始化一次?

0 投票
1 回答
213 浏览

angular - 向服务提供对象

我正在尝试使用另一个人(github)的服务工具。

此服务要求将配置传递给它。根据回购:

坦率地说,我不知道如何处理这些信息,因为在我遵循的几个教程中,我从来没有将设置注入到服务中。谷歌对我帮助不大。

到目前为止,我所做的是将服务添加到我的模块中home.module.ts

还有我的组件home.component.ts

可以预见的是,当我运行我的应用程序时,会出现以下错误:

我的问题是,如何为服务提供对象?在这种情况下,Neo4jSettings.

0 投票
1 回答
82 浏览

javascript - angular 2 最终版本中的提供程序更改

在 Angular 2.0.0-rc.1 中,我们使用新的 Provider 创建了 Provider,请参阅下面的代码片段

var constAccessor = new Provider(NG_VALUE_ACCESSOR, { useExisting: forwardRef(() => EJDefaultValueAccessor), multi: true });

用于创建指令,但是当移植到 Angular 最终版本时,我无法找到解决方案。在以下位置检查了更改日志

https://github.com/angular/angular/blob/master/CHANGELOG.md

有什么解决办法吗?

0 投票
2 回答
1408 浏览

angular - Angular 2 - 在每个 http 请求中附加 withCredentials = true

我正在使用 angular 2(不是通过 angular-cli: 1.0.0-beta.11-webpack.9-4 使用的最新版本),并且对于每个 http 请求,我都必须将 withCredentials 设置为 true。我尝试使用

http.get(' http://my.domain.com/request ', { withCredentials: true })

一切正常,但是我试图在引导程序中使用如下所示的东西,但没有取得任何成功

0 投票
1 回答
32 浏览

angular - Angular2 依赖注入:我在一些注入包的名称之前看到的“...”语法是什么(即'providers = [...SomeProvider]')

我刚刚开始使用 Angular2,通常注入提供程序看起来像:

但是,我已经看到一些在注入的提供程序名称之前包含“...”的软件包,例如:

为什么要这样做?是...什么,它在做什么?