【发布时间】:2019-10-03 13:22:53
【问题描述】:
我正在使用 eventEmitter(来自孩子)来通知父母一些事件。我有不止一个组件,但是......并非所有组件都需要使用方法调用。如果它只是静态的,它是否是一种通知父组件不应该发射的方法?在没有任何事件的情况下使用 emit 是否安全?
我有一个使用 9x 的父级,但其中只有 2 个为过滤器设置标准并导航到另一个组件。
All of 有一个 Output() 发射器,用于在 html 中发射一个空事件。在父组件中,我有设置标准和导航的方法,我将其用作输出。
这很好用,但我想知道它是否会在将来产生问题,或者它是否不安全。下面我会写一个示例代码。
child.component.ts
Output() emitter = new EventEmitter();
child.component.ts
<button (click)="emitter.emit()"
class="btn btn-primary"> example text
</button>
parent.component.ts
public onGetOnlineDevices() {
this.deviceState.setCriteriaWithReset({ isOnline: true });
this.navigate();
}
parent.component.ts
<div class="col-xl-6">
<child-component
(emitter)="onGetOnlineDevices($event)"
></child-component>
</div>
<div class="col-xl-6">
<child-component></child-component>
</div>
<div class="col-xl-6">
<child-component></child-component>
</div>
只有第一个子组件会设置标准和导航,但我不确定在没有任何方法的情况下离开另一个组件是否安全。 谢谢你的回答。
【问题讨论】:
标签: angular components output eventemitter