Angular NGRX @Effect 捕获所有操作
创始人
2024-10-20 09:00:46
0

要捕获所有操作,您可以使用ngrx/effects库中的@Effect()装饰器。通过在@Effect()装饰器中使用ofType()操作符,您可以指定要捕获的操作类型。

以下是一个示例代码,演示如何使用@Effect()装饰器来捕获所有操作:

import { Injectable } from '@angular/core';
import { Actions, createEffect, ofType } from '@ngrx/effects';
import { tap } from 'rxjs/operators';

@Injectable()
export class MyEffects {
  constructor(private actions$: Actions) {}

  logAllActions$ = createEffect(() => {
    return this.actions$.pipe(
      ofType('*'), // 捕获所有操作
      tap((action) => {
        console.log('捕获到操作:', action);
      })
    );
  }, { dispatch: false });
}

在上面的代码中,logAllActions$是一个使用createEffect()函数创建的效果。在这个效果中,我们使用this.actions$来订阅所有的操作。然后,通过使用ofType('*')操作符,我们指定要捕获的操作类型为所有类型。最后,我们使用tap()操作符来在控制台中打印捕获到的操作。

请注意,我们在createEffect()函数的第二个参数中传递了{ dispatch: false }选项,以防止这个效果再次派发操作。

要使用这个效果,您需要将MyEffects类添加到您的注入器提供商中,并将其添加到您的 EffectsModule.forRoot() 函数中。例如:

import { NgModule } from '@angular/core';
import { EffectsModule } from '@ngrx/effects';

@NgModule({
  imports: [
    EffectsModule.forRoot([MyEffects])
  ]
})
export class AppModule { }

现在,logAllActions$效果将捕获和打印所有操作。

相关内容

热门资讯

于此同时!哈狗智能辅助!一贯是... 于此同时!哈狗智能辅助!一贯是有辅助器(有挂详细)-哔哩哔哩1、哈狗智能辅助透视辅助软件激活码多个强...
近期!微信边锋干橙眼辅助器!一... 您好,微信边锋干橙眼辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【485275054】很...
现有关情况通报如下!广东雀神智... 现有关情况通报如下!广东雀神智能辅助插件!原来存在有辅助挂(有挂工具)-哔哩哔哩1、进入到广东雀神智...
现场直击!新星游房间链接辅助!... 现场直击!新星游房间链接辅助!好像真的有辅助安装(有挂细节)-哔哩哔哩现场直击!新星游房间链接辅助!...
近日!同城游辅助工具!一贯存在... 近日!同城游辅助工具!一贯存在有辅助神器(有挂解密)-哔哩哔哩1、打开软件启动之后找到中间准星的标志...
经调查!德普之星辅助器!其实是... 经调查!德普之星辅助器!其实是有辅助修改器(有挂技巧)-哔哩哔哩1)德普之星辅助器有没有挂:进一步探...
此事备受玩家关注!财神辅助功能... 此事备受玩家关注!财神辅助功能!都是真的是有辅助脚本(有挂技巧)-哔哩哔哩1、财神辅助功能免费脚本咨...
今日!蛮王辅助器!其实真的有辅... 今日!蛮王辅助器!其实真的有辅助平台(有挂教程)-哔哩哔哩1、玩家可以在蛮王辅助器线上大神俱乐部对游...
现就发布提示!微乐游戏小程序辅... 现就发布提示!微乐游戏小程序辅助器免费!总是是真的辅助插件(有挂详情)-哔哩哔哩小薇(辅助器软件下载...
目前来看!金杯竞技辅助!都是是... 目前来看!金杯竞技辅助!都是是真的辅助神器(竟然有挂)-哔哩哔哩1、进入到金杯竞技辅助是否有挂之后,...