Угловая навигация пользовательского интерфейса с параметрами - PullRequest
0 голосов
/ 01 октября 2018

В html У меня есть две кнопки Пользователи и Опросы -

<button *ngIf="isUserAdmin" mat-button (click)="listSurveys()">Survey</button>
<button *ngIf="isUserAdmin" mat-button (click)="list('users')">Users</button>

А в файле .ts есть два метода навигациина соответствующие страницы списка -

 listSurveys(): void {
    this.router.navigate(['surveys']);
  };

  listUsers(): void {
    this.router.navigate(['users']);
  };  

Вышеуказанная настройка работает, как ожидалось.Но я просто хочу заменить listUsers()/listSurveys() на list(items: String) метод, подобный этому

.HTML:

<button *ngIf="isUserAdmin" mat-button (click)="list('surveys')">Survey</button>
<button *ngIf="isUserAdmin" mat-button (click)="list('users')">Users</button>

.TS:

list(items : String) {
    console.log("\'" +items+ "\'");
    this.router.navigate(["\'" +items+ "\'"]);
  }

Но это не работает, хотя the console.log() регистрирует - «опросы» и «пользователи» соответственно в консоли.Кто-нибудь может помочь в этом вопросе?Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Я думаю, что это будет работать

list(items : String) {
    console.log(items);
    this.router.navigate([items]);
  }
0 голосов
/ 01 октября 2018

HTML

<button *ngIf="isUserAdmin" mat-button (click)="list('surveys')">Survey</button>
<button *ngIf="isUserAdmin" mat-button (click)="list('user')">User</button>

TS

list(param:string): void {
    this.router.navigate([ param ]);
  };

Подробнее https://angular.io/guide/router

...