Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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
Angular2-路由器使用参数导航(RC.4)_Angular_Angular2 Routing - Fatal编程技术网

Angular2-路由器使用参数导航(RC.4)

Angular2-路由器使用参数导航(RC.4),angular,angular2-routing,Angular,Angular2 Routing,我正在使用RC.4开发新的路由器,处理http错误代码。我试图通过URL发送一个参数,但我有一个“字符问题” 这是我的电话:this.\u router.navigate(['/error',{errorCode:'401'}]) 这是URL,它包含一个“;”而不是“?”:http://localhost:3000/error;errorCode=401 我想要的:http://localhost:3000/error?errorCode=401 因为当我阅读此URL时,它仅适用于此“?”: (

我正在使用RC.4开发新的路由器,处理http错误代码。我试图通过URL发送一个参数,但我有一个“字符问题”

这是我的电话:
this.\u router.navigate(['/error',{errorCode:'401'}])

这是URL,它包含一个“;”而不是“?”:
http://localhost:3000/error;errorCode=401

我想要的:
http://localhost:3000/error?errorCode=401

因为当我阅读此URL时,它仅适用于此“?”:

(可选-app.routes.ts):


我在互联网上搜索,但没有找到任何关于它的信息,我怎样才能更改“;”或者我怎样才能读取
错误;errorCode=401

如果将它们添加到根路由,则这些参数将作为查询参数添加(使用
)。在子管线上,它们作为矩阵参数添加(使用


因此,如果要将其添加为查询参数,则需要将其添加到根路由。

感谢您的快速回答!有一种方法可以读取angular2中的矩阵参数?它们的工作原理与(实际上是)查询参数相同,只是URL中的表示形式因应用的路由而异。将它们添加到主路由是什么意思?您的意思是使用RouterModule.forRoot()在子模块中注册路由吗?对不起,我指的是根路由(顶级路由)。感谢您提供此代码片段,它可能会提供一些即时帮助。通过说明为什么这是一个很好的解决问题的方法,正确地解释它的教育价值,并将使它对未来有类似但不完全相同问题的读者更有用。请在回答中添加解释,并说明适用的限制和假设。
let queryParams = {
  status: 1,
  string: 'abc',
};
this._router.navigate(['/path'], { queryParams: queryParams });
{
    path: 'error',
    component: ErrorComponent
},
let queryParams = {
  status: 1,
  string: 'abc',
};
this._router.navigate(['/path'], { queryParams: queryParams });