我有一个Angular effect
,我只想执行一次.
但由于它依赖于其他信号,我希望它先等待,直到所有数据都出现. 在第一次处决之后,我不希望它再次被触发.
我正在寻找一个优雅的解决方案(而不仅仅是一些布尔翻转)
使用Observables,你可以有效地使用takeUntil
或take(1)
.但是,什么信号相当于这个呢?
我有一个Angular effect
,我只想执行一次.
但由于它依赖于其他信号,我希望它先等待,直到所有数据都出现. 在第一次处决之后,我不希望它再次被触发.
我正在寻找一个优雅的解决方案(而不仅仅是一些布尔翻转)
使用Observables,你可以有效地使用takeUntil
或take(1)
.但是,什么信号相当于这个呢?
100
效果返回一个可用于手动销毁它们的AddressRef, 使用. destroy()操作.这也可以与 手动选项创建一个效果,直到它被 手动销毁.
const effectRef = effect(()=>{
if(this.a() && this.b()){
console.log('ReadValue');
effectRef.destroy();
}
},{manualCleanup:true});
100