如何解决无法接收事件发出的值
distance-measurment-parameters.component 是 site-map.component 中的一个子项。距离测量参数中的方法 hideWindowOverlay() 在窗口关闭时被调用,并发出如下所示的事件。日志 显示 hideWindowOverlay() 中的语句,表示事件已发出。
在组件site-map.component中,我监听或订阅事件'evtEmitterOndistanceMeasurementwindowClosed'如下,如下面的代码所示
(evtEmitterOndistanceMeasurementwindowClosed)=ondistanceMeasurementwindowClosedEvtReceived($event)/>
问题是,方法 ondistanceMeasurementwindowClosedEvtReceived() 从未被调用,因此未收到事件。
请告诉我如何正确订阅事件“evtEmitterOndistanceMeasurementwindowClosed”以及如何调用方法“ondistanceMeasurementwindowClosedEvtReceived”
在 site-map.html 中:
<clr-toggle-wrapper *ngIf="showMeasuredistance">
<input type="checkBox" clrCheckBox (change)="toggledistanceMeasurementOverlay()" [(checked)]="showMeasuredistanceOverlay"
(evtEmitterOndistanceMeasurementwindowClosed)=ondistanceMeasurementwindowClosedEvtReceived($event)/>
<label >
{{ "SITE.MEASURE_disTANCE" | translate }}
<button class="btn btn-sm btn-icon" (click)="showinformation('SERVICE_MEASURE_disTANCE')">
<clr-icon shape="help-info" class="is-solid"></clr-icon>
</button>
</label>
</clr-toggle-wrapper>
distance-measurment-parameters.component:
//declaration of the event emitter
@Output("evtEmitterOndistanceMeasurementwindowClosed")
evtEmitterOndistanceMeasurementwindowClosed: EventEmitter<boolean> = new
EventEmitter<boolean>();
hideWindowOverlay() {
//throw new Error('Method not implemented.');
this.showWindow = false;
this.evtEmitterOndistanceMeasurementwindowClosed.emit(true);
console.log("hideWindowOverlay: emits event this.evtEmitterOndistanceMeasurementwindowClosed.emit(true)");//log here are displayed
}
在 site-map.component 中:
ondistanceMeasurementwindowClosedEvtReceived(event: boolean){
this.toggledistanceMeasurementOverlay();
console.log("ondistanceMeasurementwindowClosedEvtReceived: ");//log are not displayed
}
解决方法
正如我所看到的,您正在尝试从 input 元素监听 evtEmitterOnDistanceMeasurementWindowClosed 事件,但是 input 没有这样的事件发射器。尝试在一些内置输入事件上调用 onDistanceMeasurementWindowClosedEvtReceived 方法 - onchange 例如
或者像这样使用 [(ngModel)]
<input [(ngModel)]="value"
(ngModelChange)="onDistanceMeasurementWindowClosedEvtReceived($event)"
/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。