【发布时间】:2019-02-17 15:02:57
【问题描述】:
我对 Angular 2 及其依赖注入能力有些陌生,但还没有找到一种简单的方法来根据路由更改组件依赖关系。
I.E. 给定一个接受服务的组件。
MyReusableComponent {
constructor(private service: ServiceIWantToChange){}
}
假设我在 Web 应用程序的不同部分添加了一条新路由,该路由将重用该组件。
我想做这样的事情: 新区域路由模块
{
path: "newRoute",
component: MyReusableComponent,
** my made up provider area ** -providers: [{provide:
ServiceIWantToChange, useClass: MyServiceWithChanges}]
}
这就是我想到的一种处理位置敏感依赖关系的方法。
我认为我可以提供组件的覆盖实现,为可重用组件提供新的依赖关系,但我希望只是更改路由中的依赖关系。
我一直在围绕解析器等进行研究,但这些似乎更多地用于提供数据。我还注意到有人注入了注射器并进行了 if 检查以获得正确的组件。看到了几种不同的方式。我确信我在路由和 DI 方面缺少一些东西,但我找不到任何简单的东西。我知道有变通办法,但希望找到更优雅的解决方案,只是想知道我想做的事情是否可行。
谢谢!
以下是用例详细信息,以防我通常遇到此错误...我想重复使用完全相同的组件,但让它将请求发送到一组不同的端点。
【问题讨论】:
标签: angular dependency-injection routing angular2-routing