gpt4 book ai didi

angular - 同一个变量的输入和输出

转载 作者:太空狗 更新时间:2023-10-29 17:08:53 25 4
gpt4 key购买 nike

我有一个可以从 parent 和 child 编辑的变量。

parent.html:

 <div *ngIf="editEnabled">
<mat-icon (click)="disableEdit()">cancel</mat-icon>
</div>

<child [(editEnabled)]="editEnabled"></child>

parent.ts:

export class ParentComponent {

editEnabled: boolean;

disableEdit(){
this.editEnabled = false;
}
}

Child.html:

 <div *ngIf="!editEnabled">
<mat-icon (click)="enableEdit()">settings</mat-icon>
</div>

child .ts

private _editEnabled: boolean;

@Input()
set editEnabled(value: boolean) {
this._editEnabled = value;

}
get editEnabled(): boolean {
return this._editEnabled;
}

enableEdit(){
this.editEnabled = true;
}

但我无法在两个组件之间传达 editEnabled。

我的错误在哪里?

最佳答案

当定义一个双绑定(bind)变量时,你需要用变量名定义一个@Input-decorator:

@Input() editEnabled: boolean;

和一个带有变量名和 Change 的@Output-decorator,因为它发出变量的变化事件:

@Output() editEnabledChange: EventEmitter<boolean> = new EventEmitter<boolean>();

然后当改变子组件内的变量时,调用this.editEnabledChange.emit(true)。您与 [(...)] 的双重绑定(bind)是正确的!

关于angular - 同一个变量的输入和输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51478278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com