Angular2 * NGIf элегантный способ изменить значения - PullRequest
0 голосов
/ 04 января 2019

У меня есть вопрос. Мой HTML выглядит так:

<a
    href="/admin/companies"
    mat-button
    *ngIf="currentUserRole == 'Admin'"
  >
    <mat-icon
      matBadge="A"
      >business</mat-icon
    >
    Companies</a
  >
  <a 
     href="/companies" 
     mat-button 
     *ngIf="currentUserRole == 'Employer'">
    <mat-icon
      matBadge="E"
      >business</mat-icon
    >
    Companies</a
  >

Как вы видите, у меня та же кнопка с diffrent href и matBadge. Что зависит от cuurentUserRole.

У меня вопрос, как из этих двух кнопок сделать одну с правильно закодированным *ngIf условием, чтобы изменить то, что я хочу? это возможно?

1 Ответ

0 голосов
/ 04 января 2019

Попробуйте этот пример

В тс import {Component} из '@ angular / core';

@Component({
  selector: 'button-overview-example',
  templateUrl: 'button-overview-example.html',
  styleUrls: ['button-overview-example.css'],
})
export class ButtonOverviewExample {
  currentUserRole : string = "Admin"
  roles = [{"url":"/admin/companies","id":"Admin","bid":"A","title":"Companies"},{"url":"/companies","id":"Employer","bid":"E","title":"Employee"}]
}

В HTML

<div *ngFor="let role of roles">
<a 
    [href]="role.url"
    mat-button
    *ngIf="currentUserRole == role.id"
  >
    <mat-icon
      [matBadge]="role.bid"
      >business</mat-icon
    >
    {{role.title}}</a
  >
  </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...