Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 降级的Angular2组件未获得ActivatedRoute的提供程序!错误_Angularjs_Angular_Angular2 Routing_Angular Routing - Fatal编程技术网

Angularjs 降级的Angular2组件未获得ActivatedRoute的提供程序!错误

Angularjs 降级的Angular2组件未获得ActivatedRoute的提供程序!错误,angularjs,angular,angular2-routing,angular-routing,Angularjs,Angular,Angular2 Routing,Angular Routing,目前,我有一个Angular2组件,它作为一个指令被降级,并用于引导混合Angular1/Angular2应用程序。当组件加载到浏览器中时,我遇到了一个问题,出现以下错误: 没有ActivatedRoute的提供程序 注意:以下内容不包括此用例 该应用程序仍然使用自举Angular 1应用程序的所有路由,到目前为止运行良好;我还没有将布线转换为使用角度2布线。在我构建的新组件中,我的需求之一是检查查询参数。这可以通过以下代码完成: import { ActivatedRoute } from '

目前,我有一个Angular2组件,它作为一个指令被降级,并用于引导混合Angular1/Angular2应用程序。当组件加载到浏览器中时,我遇到了一个问题,出现以下错误:

没有ActivatedRoute的提供程序

注意:以下内容不包括此用例

该应用程序仍然使用自举Angular 1应用程序的所有路由,到目前为止运行良好;我还没有将布线转换为使用角度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路由器,那么我应该尝试使用这种旧方法还是使用另一种方法;我需要做的就是检查组件中的路由参数

将ActivatedRoute添加到NgModule的提供程序中,或确保已将RouterModule添加到imports@BabarBilal-那不行。根据我需要的
导入:[RouterModule.forRoot(routes)]
我得到了错误,“无法解析ActivatedRoute的所有参数”,但我没有像我的帖子所说的那样定义任何角度2路由。因此,这让我回到了我的问题-我可以使用
ActivatedRoute
而不使用Angular 2路由吗?不可以,因为所有路由提供程序都来自RouterModule如果不使用Angular 2路由,是否使用AngularJS UI路由器?也许您正在寻找?@jim-否此应用程序使用了
$routeProvider