<app-lab-hazard-classification-question-group
primaryQuestion="Does the lab contain mechanical tools?"
[(primaryValue)]="lab.hazardClassificationDetails.mechanicalExists"></app-lab-hazard-classification-question-group>
lab
变量是
@Input()
lab.hazardClassificationDetails.mechanicalExists
它是由子组件正确设置的。但我需要知道,在父控件中,该值何时被修改。因为
实验室
变量本身不会改变
ngOnChanges
方法实际上没有被调用。
我必须加一个吗
(change)
项,并显式绑定该项以通知更改?我希望有一个更通用的方法,因为我有大约10个这样的子元素,我不在乎它变成了什么值,只是它确实改变了。
@Input() primaryValue: boolean;
@Output() primaryValueChange = new EventEmitter();
onPrimaryChanged(): void {
this.primaryValueChange.emit(this.primaryValue);
}
<select class="form-control" id="primary" name="primary" required
[(ngModel)]="primaryValue"
(change)="onPrimaryChanged()">
<option [ngValue]="null || undefined">-- Select --</option>
<option [ngValue]="true">Yes</option>
<option [ngValue]="false">No</option>
</select>