为我使用嵌套路由的原因是为每个页面处理动态图标和后退按钮。我有抽象路线,因为当我点击后退按钮路线参数消失时,我放了一个抽象路径来保持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。 为什么会这样? 我的代码中出了什么问题
答案 0 :(得分:3)
您是否尝试过删除路由器链接中的斜杠:
[routerLink]=['Questionaire', item.questionnaireType, item.id, 'UpdateQuestionnaire']
?
如此post
中所述,routerlink中的斜杠似乎存在问题我会将此作为评论发布,但由于我没有足够的声誉,我会将此作为答案发布,对不起。
我希望这能为你解决问题。
亲切的问候克里斯