目前我有一个Angular 2组件,它被降级为指令并用于自举的混合Angular1 / Angular2应用程序。我在浏览器中加载组件时遇到问题我收到以下错误:
没有ActivatedRoute的提供者!
注意:以下内容No provider for ActivatedRoute - Angular 2 RC5未涵盖此用例。
这个应用程序仍然使用来自引导的Angular 1应用程序的所有路由,并且到目前为止工作得很好;此时我还没有将路由转换为使用Angular 2路由。我构建的新组件中的一个要求是检查查询参数。这可以通过以下代码完成:
import { ActivatedRoute } from '@angular/router';
constructor(
private route: ActivatedRoute)
route.queryParams.subscribe(
data => this.Id = data['Id']);
我相信的问题在于上面的代码依赖于Angular2路由器,正如我所提到的那样,我的混合引导应用程序尚未使用它。所以这是我的问题:
$routeParams
来获取查询字符串信息。我的新Angular2组件不支持此功能。如果上面的答案是我不能使用ActivatedRoute
,因为我没有使用Angular2路由器,我应该尝试使用这个旧方法还是使用另一个;我需要做的就是检查组件中的路由参数?