1

我想跟踪某个密钥在@ngrx/store 中订阅了多少次。我不想在每个订阅的组件中重复代码,但希望以某种方式连接到 select() 中。我认为@effects 不适用于这里,因为我没有查看已调度的操作。

有人对我将如何实现这一点有任何想法吗?

4

1 回答 1

0

假设订阅一个键意味着从商店中选择一些东西。您可以尝试使用自己的服务扩展 Store 并使用它,然后使用以下内容覆盖 select 方法:

@Injectable()
class CountingStore<S> extends Store<S> {
    public keyCount: {[key:string]: number} = {};

    public select = (key: string) => {
        keyCount[key] = keyCount[key] ? keyCount[key] + 1 : 1;
        return super.select(key);
    }
}
于 2017-05-26T15:35:56.340 回答