【发布时间】:2019-07-09 04:06:34
【问题描述】:
我进行了研究,但没有一个能够为我提供正确的解决方案。 我有 2 个名为 parentComponent 和 childComponent 的组件。
childComponent.html
<div *ngIf="isShowMessage">
<p>Hey i was told by parent component to be shown Here i am !!!</p>
<button (click)="cancel()">cancel</button>
</div>
childComponent.ts
_isShowMessage = false;
@Input() set isShowMessage(value: boolean) {
this._isShowMessage = value;
}
get isShowMessage(): boolean {
return this._isShowMessage;
}
cancel(): void {
this._isShowMessage = false;
this.isShowMessage = false;
}
父组件.html
<childComponent [isShowMessage]="isShowMessage"></childComponent>
<button (click)="handleClick()">save</button>
父组件.ts
isShowMessage = false;
handleClick(): void {
this.isShowMessage = true;
}
第 1 步: 当我从父级单击保存按钮时,将显示子组件 div:
<p>Hey i was told by parent component to be shown Here i am !!!</p>
第二步: 当我从子组件单击取消按钮时,div 被隐藏。 [预期行为]
第 3 步: 当我再次单击父级的保存按钮时,子组件 div 不显示。
是否由于第二次发送的相同值 true 也是如此?不确定 ... 任何建议表示赞赏。
【问题讨论】:
-
ngOnChanges 在 step3 的子组件中触发?
标签: angular angular6 angular2-changedetection