Angular2-路由器使用参数导航(RC.4)
我正在使用RC.4开发新的路由器,处理http错误代码。我试图通过URL发送一个参数,但我有一个“字符问题” 这是我的电话: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时,它仅适用于此“?”: (
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 });