按属性值过滤 Firefly 语义切片对象存储 Observables
按属性值过滤 Firefly 语义切片对象存储 Observables

设想
我们希望能够观察由属性过滤的反应萤火虫语义切片对象存储事件 姓名 和 价值 .
[
@fireflysemantics/切片
建造…
www.npmjs.com
](https://www.npmjs.com/package/@fireflysemantics/slice)
方法
使用 onFilteredEvent<E> 作为 Firefly Semantics Slice 实用程序库的一部分提供的函数。它是这样定义的。
导出函数 onFilteredEvent<E> (
值:任何,
属性名:字符串
obs:可观察的<E>): 可观察的<E>{
返回 obs.pipe(
过滤器 ((e) => !! (e && e [propertyName] === value)));
);
}
RxJS 筛选 表达式检查事件 ( e ) 被定义并且 价值 参数匹配由标识的值 财产名称 争论。这 观测值 论据是 可观察的 Firefly 语义切片对象存储提供的参数。
演示
在这个演示中,我们创建了一个 命名事件 具有 姓名 我们将定位的属性。
导出类型 NamedEvent = { name: string }; 常量命名事件:命名事件 = {名称:'hilde'};
我们还创建了实例 命名事件 环境 姓名 至 希尔德 .我们使用它来初始化我们的对象存储。
常量开始:OStoreStart = {
事件:{值:命名事件},
}; 接口 ISTART 扩展 KeyObsValueReset {
事件:ObsValueReset;
}
让操作系统:OStore<ISTART> =新的OStore(开始);
我们现在可以过滤事件 财产 姓名 被设定为 希尔德 像这样:
const hildeEvents$: 可观察的<NamedEvent>= onFilteredEvent<NamedEvent> (
'希尔德',
'姓名',
OS.S.event.obs
);
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

浙公网安备 33010602011771号