Angular 6: действие после выбора радио - PullRequest
0 голосов
/ 31 октября 2018

Я хорош с Angular 6, и я изо всех сил пытаюсь показать div в зависимости от того, какое радио нажал пользователь

это моя форма радио:

    <form>
         <input type="radio" name="job" [(ngModel)]="model.job" value="manager">Manager
         <input type="radio" name="job" [(ngModel)]="model.job" value="employee" ng-change='jobDisplay()'>Employee
<div *ngIf="display" >TEST</div>
    </form>

Вот мой файл машинописи

display = false;

jobDisplay() {
    this.display = true;
  }

Кажется, что jobDisplay никогда не вызывается.

Я тоже пытался изменить

<input type="radio" name="job" [(ngModel)]="model.job" value="employee" [checked]='display'>Employee

Я хочу, чтобы слово test отображалось при нажатии на второй. Что я мог сделать?

Ответы [ 2 ]

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

Проблема 1: вы используете ng-change, что неправильно, это синтаксис AngularJS. Это не будет работать в Angular 2 +

Проблема 2: вам не нужно использовать какую-либо функцию, поскольку вы используете ngModel.

HTML

    <form>
         <input type="radio" name="job" [(ngModel)]="model.job" value="manager">Manager
         <input type="radio" name="job" [(ngModel)]="model.job" value="employee">Employee

       <div *ngIf="model.job == 'employee'" >Employee</div>
       <div *ngIf="model.job == 'manager'" >Manager</div>

    </form>

Примечание. Похоже, вы новичок в Angular. Лучше было бы, если вы пройдете какое-то руководство до эксперимента.

Это может вам помочь - https://angular.io/tutorial

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

Просто установите model.job='employee'

<form>
  <input type="radio" name="job" [(ngModel)]="model.job" value="manager">Manager
  <input type="radio" name="job" [(ngModel)]="model.job" value="employee">Employee
  <div *ngIf="model.job=='employee'" >TEST</div>
</form>
...