降级Angular2组件获得ActivatedRoute的无提供商!错误

时间:2017-03-07 22:59:56

标签: angularjs angular angular2-routing angular-routing

目前我有一个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路由器,正如我所提到的那样,我的混合引导应用程序尚未使用它。所以这是我的问题:

  • 我可以在不使用Angular2路由器的情况下使用上面的代码并仍然检查查询字符串参数吗?原始Angular1控制器使用$routeParams来获取查询字符串信息。我的新Angular2组件不支持此功能。如果上面的答案是我不能使用ActivatedRoute,因为我没有使用Angular2路由器,我应该尝试使用这个旧方法还是使用另一个;我需要做的就是检查组件中的路由参数?

0 个答案:

没有答案