routerlink между дочерними компонентами в angular 4 - PullRequest
0 голосов
/ 01 мая 2018

У меня есть боковая панель с выпадающим меню Quiz-> question. На странице 'вопрос' (страница вопроса имеет путь: / quiz / question) у меня есть заголовок, который при нажатии должен ссылаться на другой компонент 'answerComponent'.

Я пытался добавить детям ответ на вопрос.

    {
        path: '',
        children: [
          {
            path: 'question',
            component: viewComponent,
            children: [
              {
                path: 'answer',
                component: answerComponent,
              },
            ]
          },
        ]
  }

приложение-routing.module.ts

   {
    path: 'quiz',
    loadChildren: './quiz/quiz.module#QuizModule'
  },

Мне бы хотелось, чтобы путь был похож на этот / викторина / вопрос / ответ. Я добавил роутер в страницу вопросов

<a [routerLink]="['answer']" [queryParams]= "{id: '2'}">click here</a>

Когда я нажимаю на / quiz / question / answer, я вижу изменение URL-адреса? Id = 2 но я не вижу answerComponent.html.

Я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

answerComponent находится внутри viewComponent, поэтому вам понадобится вложенное <router-outlet></router-outlet> в viewComponent

Редактировать на основе комментариев:

тогда ваш answerComponent должен иметь другой маршрут на том же уровне viewComponent, что и:

children: [
      {
        path: 'question',
        component: viewComponent,
      },
      {
        path: 'answer',
        component: answerComponent,
      },
    ]
0 голосов
/ 01 мая 2018

Если вы добавляете queryParam и вам нужно его использовать, попробуйте что-то вроде:

  children: [
              {
                path: 'answer/:id',
                component: answerComponent,
              },
            ]
...