我对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。我该怎么办?
答案 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
,因此不需要使用任何功能。
<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