Подтвердить что ты не робот

Условное (if, else) в Angular 2

Здравствуйте, я проработал несколько лет в .NET, серебристый, теперь я начинаю с agular 2 и expressjs. И я сомневаюсь, что даже я не мог найти, как это сделать в angular 2 + expressjs и безопасен с клиентской стороны?

<% if(User.Identity.IsAuthenticated){ %>
     <b>Sign Out</b>
<% } else { %>
     <b>Sign In</b>
<% } %>
4b9b3361

Ответ 2

С Angular 4 это теперь возможно:

  • Синхронно

    позволяет предположить, что мы определили эту переменную класса:

    shown: boolean = true;
    

    Если синтаксис else:

    <button (click)="shown = !shown">toggle 'shown' variable</button>
    <div *ngIf="shown; else elseBlock">If shown</div>
    <ng-template #elseBlock>else not shown</ng-template>
    

    Обратите внимание, что ng-template необходимо использовать, чтобы эта структурная директива работала, поэтому, если у вас есть пользовательский компонент, оберните его внутри ng-template. Ниже приведен альтернативный синтаксис, который также связывается с одной и той же переменной класса.

    Если синтаксис else else:

    <button (click)="shown = !shown">toggle 'shown' variable</button>
    <div *ngIf="shown; then primaryBlock; else secondaryBlock"></div>
    <ng-template #primaryBlock>If shown</ng-template>
    <ng-template #secondaryBlock>else not shown</ng-template>
    

  • асинхронно

    Класс:

    userObservable = new Subject<{first: string, last: string}>();
    onButtonClick() {
      this.userObservable.next({first: 'John', last: 'Smith'});
    }
    

    шаблон:

    <button (click)="onButtonClick()">Display User</button>
    <div *ngIf="userObservable | async as user; else loading">
      Hello {{user.last}}, {{user.first}}!
    </div>
    <ng-template #loading>Waiting for click...</ng-template>