如何将 ngrx 存储注入库

How to inject ngrx store into a library

我正在创建一个拖放 angular 模块,我希望将其外部化并发布到 npm。该库基本上允许用户定义拖放区域并将 ngrx 操作与它们相关联。

const DND_RULES: DndRule[] = [
   new DndRule('area1', 'area2', MOVE_AREA1_TO_AREA2_ACTION.getAction),
   new DndRule('area2', 'area1', COPY_AREA2_TO_AREA2_ACTION.getAction),
]

然后,提供的服务将调度规则产生的操作。

我的问题是我需要将此库与消费者的商店集成。 有没有办法通过一些静态模块方法或 link 以某种方式在幕后向我的商店提供 ngrx 商店? DndModule.provideStore(???) 我不是确定这在幕后会是什么样子

你可以看看router store是如何实现的,https://github.com/ngrx/router-store。 尝试使用您的商店的人必须进行一些配置并导入他们想要使用的必要操作。 import { go, replace, search, show, back, forward } from '@ngrx/router-store';