按属性值过滤 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 版权协议,转载请附上原文出处链接和本声明