通过在路径前添加“%2f”字符来解决 Angular4 路由问题

Are*_*ani 1 angular2-routing angular angular-router angular4-router

对我来说使用嵌套路由的原因是动态处理每个页面的图标和后退按钮。我有抽象路由,因为当我单击后退按钮时,路由参数消失,我放置一个抽象路径来保留idquestionnaire在 url 中键入参数。我的抽象路径是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'}},
    ]}
Run Code Online (Sandbox Code Playgroud)

另外,在questionnaire.list.html我通过 routerlink 链接到每条路径时,下面是我的链接:

[routerLink]="['/Questionaire',item.questionnaireType,item.id,'/UpdateQuestionnaire']"
Run Code Online (Sandbox Code Playgroud)

这是我的链接:

 <a  class="primary small ui icon button" [routerLink]="['/Questionaire',item.questionnaireType,item.id,'/UpdateQuestionnaire']" >
                <i class="edit   icon"></i>
              </a>
Run Code Online (Sandbox Code Playgroud)

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

.../调查问卷/1/b8b55b42-f39f-4359-93d0-0260ddf3827f/更新调查问卷

但出现了这个错误

无法匹配任何路线。URL 段:“问卷/1/b8b55b42-f39f-4359-93d0-0260ddf3827f/%2FUpdateQuestionnaire”

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

Chr*_*erg 6

您是否尝试过删除路由器链接中的斜杠,如下所示:

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

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

我会将其作为评论发布,但由于我没有足够的声誉,我会将其作为答案发布,对此感到抱歉。

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

亲切的问候克里斯