问题标签 [angular-injector]

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

angular - NullInjectorError:R3InjectorError 没有 AlertPanelComponent 的提供程序

错误信息:

错误 NullInjectorError: R3InjectorError(AppModule)[AlertPanelComponent -> AlertPanelComponent -> AlertPanelComponent]: NullInjectorError: No provider for AlertPanelComponent!角

我不明白这一点,我只是想AlertPanelComponent从 alert-panel.component 导入我的。

在 stackOverflow 上搜索时,此错误似乎非常广泛。我已经把它放在了我的 app.module 中。

app.component.ts

app.module.ts

应用程序路由.module.ts

0 投票
0 回答
42 浏览

angular - 错误说,“考虑使用 @Inject 装饰器来指定注入令牌”。我该怎么做?

我有这个 Angular 代码,其中错误建议使用 @inject 装饰器,但我不知道怎么做,因为我是 Angular 的新手。我还提供了我得到的示例错误。希望有人能帮助我。

这是错误:

0 投票
1 回答
25 浏览

angular - 基于组件@Input属性的构造函数中的Angular Service注入参数

我在构造函数中有一个带有参数的服务,这里是一个简单的字符串,稍后在 url 或其他对象上。该参数是为服务的内部行为设置的,这里只是实例化不同的值。

该服务在组件内部使用。这个组件有一个输入参数,使组件灵活和可重用。

我希望有一个组件能够使用输入参数(或其他绑定模式)在不同类型之间切换,并且基于组件类型能够设置内部服务以更改行为。

在下面的实时示例中,我只有一个带有自定义参数的组件作者,并且在服务内部检索作者列表,有没有办法实现这一点?

活生生的例子


[更新]

在服务上使用 @Inject 并实际使用 2 个组件和 2 个预定义的 InjectionTocken 的可能解决方案。似乎仍然不是最佳解决方案,因为我有一个通用组件或多或少是空的,只是摸索并显示子组件+ 2个指定组件。达到了范围,但我生成了太多组件。仍然对其他解决方案持开放态度。谢谢

可能的解决方案

0 投票
1 回答
23 浏览

angular - 为什么 Angular 注入器会检测到以下提供的内容,即使它不在注入器层次结构中?

来自官方文档lightweight injection token,以下是启用摇树模式的示例:

我的问题是,当 Angular 看到 时@ContentChild(LibHeaderToken),它会尝试查找令牌名称为的提供程序LibHeaderToken,但它会在当前组件或其父组件上查找它(因为它是一个分层注入器)。它不会查看LibHeaderComponent(这是我们声明所需提供程序的地方)。

那么为什么这行得通,为什么LibHeaderComponent在寻找提供者时也会被搜索呢?