Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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
Javascript 防止Angular 2 Router将文字误认为参数_Javascript_Angular_Router - Fatal编程技术网

Javascript 防止Angular 2 Router将文字误认为参数

Javascript 防止Angular 2 Router将文字误认为参数,javascript,angular,router,Javascript,Angular,Router,我有两条路线: { path: 'application/:groupId/:approved/:applicant-id', component: FooComponent }, { path: 'application/:groupId/applicant-detail/:applicant-id', component: BarComponent }, 区别在于,在第一个:approved中是一个参数,而在第二个中,申请人详细信息是一个文本。当然,路由器认为: this.rou

我有两条路线:

{
path: 'application/:groupId/:approved/:applicant-id',
component: FooComponent  
}, 
{
path: 'application/:groupId/applicant-detail/:applicant-id',
component: BarComponent  
},
区别在于,在第一个
:approved
中是一个参数,而在第二个
中,申请人详细信息是一个文本。当然,路由器认为:

this.router.navigate(['./applicator detail/'+this.someId,{relativeTo:this.route});


想要转到第一条路线,因为它没有意识到申请者详细信息是一个文字。除了重新编写路线,使它们在“签名”中不匹配之外,还有什么办法可以解决这个问题吗?

交换位置,将参数设置为一个到另一个,一切都会正常工作

{
path: 'application/:groupId/applicant-detail/:applicant-id',
component: BarComponent  
},
{
path: 'application/:groupId/:approved/:applicant-id',
component: FooComponent  
}

交换位置,将参数设置为一个到另一个,一切都将正常工作

{
path: 'application/:groupId/applicant-detail/:applicant-id',
component: BarComponent  
},
{
path: 'application/:groupId/:approved/:applicant-id',
component: FooComponent  
}

路由器配置的顺序很重要


交换您的声明,使您的最文本路径位于第一位。

路由器配置的顺序很重要


交换您的声明,使您的文字路径位于第一位。

好的,谢谢,我现在就试试。您能解释一下为什么吗?它尝试从上到下搜索,并使用“应用程序详细信息”作为一个参数值,使用第一条路线,而不是走得更远。好的,谢谢,我现在就试试。你能解释一下为什么吗?它尝试从上到下搜索,并使用“应用程序详细信息”作为一个参数值,使用第一条路径,而不是更进一步。你能详细说明为什么吗?或者在文档中链接。它按照定义的顺序存储注册路径。路由器采用客户端定义的路径(请求)然后依次与您的注册路径进行比较。它找到的第一个匹配项是路由器返回的内容;在本例中,是您的组件。请参阅文档:
配置中的路由顺序很重要,这是通过设计实现的…
您可以详细说明原因吗?或者在文档中链接。它将您的注册路径存储在定义它们的顺序。路由器采用客户端定义的路径(请求)并按顺序与您注册的路径进行比较。它找到的第一个匹配项是路由器返回的内容;在本例中,是您的组件。请参阅文档:
配置中路由的顺序很重要,这是通过设计实现的…