我想跟踪@ ngrx / store中订阅某个密钥的次数。我不想在订阅的每个组件中重复代码,但希望以某种方式挂钩到select()。我不认为@effects适用于此,因为我不是在考虑调度行动。
有没有人对如何实现这个有任何想法?
答案 0 :(得分: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);
}
}