我在组件初始化中订阅了事件发射器
ngOnInit(): void {
this.linksService.droppableZoneActivation.subscribe(
(activate: boolean) => {
this.activated = activate;
}
);
}
this.linksService.droppableZoneActivation
- 布尔事件发射器。我收到发出的值,从假变为真,反之亦然。这是使用该值的组件模板:
<div *ngIf="activated">
<div dnd-droppable (onDropSuccess)="addEntity($event)">
<a [routerLink]="['/features/links']" tabindex="-1">
...
</a>
</div>
</div>
组件this.activated
只对更改做出两次反应。有时它根本没有反应。有什么问题?通过调用其他组件的方法从服务中发出值。
activateDroppableZone(): void {
this.droppableZoneActivation.emit(true);
}
deactivateDroppableZone(): void {
if (!this.selectedEntities.length) {
this.droppableZoneActivation.emit(false);
}
}