在 parent 组件中使用没有 eventEmitter 的组件是否安全?
Is it safe to use ones of component without eventEmitter in the parent component?
我正在使用 eventEmitter(来自 child)通知 parent 一些事件。我有不止一个组件,但是...并不是所有组件都需要使用方法调用。这是一种通知 parent 如果组件只是静态的则不应发出的方法吗?在没有任何事件的情况下使用 emit 是否安全?
我有一个 parent 我正在使用 9x ,但其中只有 2 个正在设置过滤器标准并导航到另一个组件。
所有的都有一个 Output() 发射器,它在 html 中用于发射一个空事件。在 parent 组件中,我有设置标准和导航的方法,我将其用作输出。
这很好用,但我想知道它是否会在未来出现问题,或者它是否是不安全的想法。我将在下面编写示例代码。
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>
只有第一个 child-component 会设置标准和导航,但我不确定在没有任何方法的情况下留下其他组件是否安全。
谢谢你的回答。
这是安全的,因为它们不会消耗事件发射器发射的东西。
我认为您需要做的是创建单独的组件。发射的子组件应该是一种类型的组件,而不发射的子组件应该是不同类型的组件,因为它们似乎有不同的用途。如果它们确实有很多共同点,请在它们之间创建一个基础 class 以共享功能。
这将是实现干净代码的方法。
我正在使用 eventEmitter(来自 child)通知 parent 一些事件。我有不止一个组件,但是...并不是所有组件都需要使用方法调用。这是一种通知 parent 如果组件只是静态的则不应发出的方法吗?在没有任何事件的情况下使用 emit 是否安全?
我有一个 parent 我正在使用 9x ,但其中只有 2 个正在设置过滤器标准并导航到另一个组件。
所有的都有一个 Output() 发射器,它在 html 中用于发射一个空事件。在 parent 组件中,我有设置标准和导航的方法,我将其用作输出。
这很好用,但我想知道它是否会在未来出现问题,或者它是否是不安全的想法。我将在下面编写示例代码。
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>
只有第一个 child-component 会设置标准和导航,但我不确定在没有任何方法的情况下留下其他组件是否安全。 谢谢你的回答。
这是安全的,因为它们不会消耗事件发射器发射的东西。
我认为您需要做的是创建单独的组件。发射的子组件应该是一种类型的组件,而不发射的子组件应该是不同类型的组件,因为它们似乎有不同的用途。如果它们确实有很多共同点,请在它们之间创建一个基础 class 以共享功能。
这将是实现干净代码的方法。