Javascript 如何更改另一个组件属性的值?(2)
我有一个鬃毛页面,页面上有一个按钮,可以触发弹出框:Javascript 如何更改另一个组件属性的值?(2),javascript,angular,typescript,Javascript,Angular,Typescript,我有一个鬃毛页面,页面上有一个按钮,可以触发弹出框: <i class="material-icons" (click)="openPopUp()">info</i> 然后我将showPopUp的值发送到PopupComponent(其单独的组件): 但实际需要设置为false的是第一个组件中的showPopup,如何正确设置其值 谢谢在ComponentB中,您应该做的是在结束时引发事件 @Output() onClose: EventEmitter<boo
<i class="material-icons" (click)="openPopUp()">info</i>
然后我将showPopUp
的值发送到PopupComponent(其单独的组件):
但实际需要设置为false的是第一个组件中的showPopup
,如何正确设置其值
谢谢在ComponentB中,您应该做的是在结束时引发事件
@Output() onClose: EventEmitter<boolean> = new EventEmitter();
public closePopUp() {
this.onClose.emit(true);
}
@Output()onClose:EventEmitter=neweventemitter();
公共关闭窗口(){
this.onClose.emit(true);
}
现在,家长只需订阅此活动:
<div *ngIf="showPopup === true">
<pop-up-info-box [componentBPopUp]="showPopup" (onClose)="showPopup = false">
</pop-up-info-box>
</div>
在ComponentB中,您应该做的是在关闭时引发事件
@Output() onClose: EventEmitter<boolean> = new EventEmitter();
public closePopUp() {
this.onClose.emit(true);
}
@Output()onClose:EventEmitter=neweventemitter();
公共关闭窗口(){
this.onClose.emit(true);
}
现在,家长只需订阅此活动:
<div *ngIf="showPopup === true">
<pop-up-info-box [componentBPopUp]="showPopup" (onClose)="showPopup = false">
</pop-up-info-box>
</div>
对于您的问题,父组件可以使用
@ViewChild('popup')
弹出:ModalComponent;
this.popup.doStuff();
但是您的具体问题可以通过componentBPopUp和showPopup字段之间的双向数据绑定来解决(请参阅)
另一个选项是使用EventMiter将更改通知给其他组件(请参见)对于您的问题,父组件可以使用
@ViewChild('popup')
弹出:ModalComponent;
this.popup.doStuff();
但是您的具体问题可以通过componentBPopUp和showPopup字段之间的双向数据绑定来解决(请参阅)
另一个选项是使用EventMiter通知其他组件更改(请参见)您应该在componentBPopUp中使用@Output 例如:
close(){
this.showPopup = false;
}
您尝试执行的操作示例:
祝你好运 您应该在componentBPopUp中使用@Output 例如:
close(){
this.showPopup = false;
}
您尝试执行的操作示例:
祝你好运
close(){
this.showPopup = false;
}