角度6:选择无线电后的动作

时间:2018-10-31 16:16:30

标签: angular radio

我对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 :(得分:2)

只需设置var fields = [ 'field1', 'field2', 'field3', 'field4']; var field1 = 'foo'; var field2 = 'bar'; var field3 = 'baz'; var field4 = 'quux'; var obj = {}; for (var i = 0; i < fields.length; i++) { obj[fields[i]] = eval(fields[i]); } console.log(obj); /* { "field1": "foo", "field2": "bar", "field3": "baz", "field4": "quux" } */

model.job='employee'

答案 1 :(得分:1)

  

问题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