angular4 route route by添加'%2f'路径前的字符

时间:2018-01-03 15:07:22

标签: angular angular2-routing angular-router angular4-router

为我使用嵌套路由的原因是为每个页面处理动态图标和后退按钮。我有抽象路线,因为当我点击后退按钮路线参数消失时,我放了一个抽象路径来保持id和{ url.my抽象路径中的{1}}类型参数为questionnaire

Questionaire

同样在 { path: 'Home', component: HomeComponent,data:{icon:'fa-home'} }, { path: 'QuestionaireList', component: QuestionaireListComponent,data:{icon:'fa-list-ul',previousState:'/Home'} }, { path: 'Questionaire/:questionnaireType/:id', children:[ { path: 'AddQuestionnaire', component: CreateQuestionnaireComponent,data:{icon:'fa-plus',previousState:'/QuestionaireList'} }, { path: 'UpdateQuestionnaire', component: EditComponent,data:{icon:'fa-pencil',previousState:'/QuestionaireList'} }, { path: 'QuestionList', component: QuestionListComponent,data:{icon:'fa-pencil',previousState:'/QuestionaireList'} }, { path: 'ImportQuestion', component: ImportQuestionComponent,data:{icon:'fa-plus',previousState:'/QuestionaireList'} }, { path: 'MetaContentList', component: MetaContentListComponent,data:{icon:'fa-database',previousState:'/QuestionaireList'} }, { path: 'ModifyMetaContent/:metaContentId/:title', component: ModifyMetaContentComponent,data:{icon:'fa-database',previousState:'/MetaContentList'}}, ]} 我通过routerlink链接到每个路径 bellow是我的链接:

questionnaire.list.html

这是我的链接:

[routerLink]="['/Questionaire',item.questionnaireType,item.id,'/UpdateQuestionnaire']"

我预计当我点击链接时我会路由到这个地址:

  

... /问卷/ 1 / b8b55b42-f39f-4359-93d0-0260ddf3827f / UpdateQuestionnaire

但是发生了这个错误

  

无法匹配任何路线。网址细分:   '问卷/ 1 / b8b55b42-f39f-4359-93d0-0260ddf3827f /%2FUpdateQuestionnaire'

实际上routerlink在UpdateQuestionnaire之前添加%2f。 为什么会这样? 我的代码中出了什么问题

1 个答案:

答案 0 :(得分:3)

您是否尝试过删除路由器链接中的斜杠:

[routerLink]=['Questionaire', item.questionnaireType, item.id, 'UpdateQuestionnaire']

如此post

中所述,routerlink中的斜杠似乎存在问题

我会将此作为评论发布,但由于我没有足够的声誉,我会将此作为答案发布,对不起。

我希望这能为你解决问题。

亲切的问候克里斯