Angular组件不会对布尔属性更改做出反应

时间:2018-01-20 23:32:20

标签: angular eventemitter property-binding

我在组件初始化

中订阅了事件发射器
ngOnInit(): void {

    this.linksService.droppableZoneActivation.subscribe(
        (activate: boolean) => {
            this.activated = activate;
        }
    );

}

this.linksService.droppableZoneActivation - 布尔事件发射器。我收到的值是从false变为true,反之亦然。这是使用该值的组件模板:

<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);
    }

}

0 个答案:

没有答案