как выполнить маршрутизацию на основе выпадающего значения?

#html #angular #typescript #routes #tags

#HTML #угловой #typescript #маршруты #Теги

Вопрос:

Я пытаюсь выполнить маршрутизацию на основе выпадающего значения, а также я хочу добавить свой новый html в существующий html. Например, у меня есть компонент main.ts и main.html и второй компонент submain.ts и submain.html . В моем main.ts у меня есть список —

 routes = [
    {
      value: 'process1',
      display: 'Process1'
    },
    {
      value: 'process2',
      display: 'process2'
    }
  ]
 onActivate(event) {
    console.log("insde activate ")
    if (event instanceof Test2Component) {
      this.currentRoute = 'react';
    } 
  }

  ngOnInit() {
    this.currentRoute = '';
  }
  routeTo(e) {
    console.log('something change')
    this.router.navigate(['/'   e]);
  }
  

В моем main.html:

   <select [(ngModel)]="currentRoute" (change)="routeTo(currentRoute)">
    <option *ngFor="let r of routes" [ngValue]="r.value">{{r.display}}</option>
  </select>
<router-outlet (activate)="onActivate($event)"></router-outlet>
  

Текущий URL-адрес является основным, но я хочу изменить URL на:

 main/process1                         // if process1 selected...    
main/process2                         // if process2 selected...
  

И выпадать, чтобы быть там (main.html ) вместе с моим submain.html содержимое, для которого я использую router-outlet.
Однако всякий раз, когда я выбираю какое-либо значение, он сообщает «Ошибка: не удается сопоставить какие-либо маршруты. Сегмент URL: ‘process1′». Я считаю, что проблема связана с маршрутизацией. Я добавил следующее в свое приложение.routing-modules.ts:

 {path:'main',component:MainComponent,pathMatch:'full'}
  

Любая помощь приветствуется!

Комментарии:

1. Вам нужно определить дочерние маршруты, возможно, как один дочерний маршрут с параметром маршрута

2. Привет, Мокси, я тоже это пробовал. но не сработало. {путь: ‘main’, компонент:MainComponent,соответствие пути: ‘full’, дочерние элементы:[ {путь:’main /process1′,компонент: SubMainComponent} ]},

3. вам не нужно снова использовать main в path. Пожалуйста, обратитесь, например: angular-2-training-book.rangle.io/routing/child_routes