我正在尝试为复选框等输入创建一个包装器组件,但我无法更改父 (inputValue) 变量,即使它设置为 ngModel。
这是我的组件定义:
@Component({
selector: 'my-checkbox',
inputs: ['inputValue', 'label'],
template: `
<div class="ui checkbox">
<input type="checkbox" name="example" [(ngModel)]="inputValue" (change)="onChange($event)">
<label>{{label}}</label>
</div>`
})
export class CheckboxComponent {
inputValue: boolean;
onChange(event) {
this.inputValue = event.currentTarget.checked;
console.log(this.inputValue);
}}
我在父视图中像这样使用它:
<my-checkbox [inputValue]="valueToUpdate" [label]="'Test Label'"></my-checkbox>
控制台确实记录正确,我可以看到内部(inputValue)正在更新,但外部“valueToUpdate”没有更新(ngModel 双向绑定没有正确更新)。