RxDBEntityChangeDirective
Defined in: rxdb-angular/src/rxdb-change-detector.directive.ts:61
RxDB 实体变化指令
如果你使用了 changeDetection: ChangeDetectionStrategy.OnPush
那么正在输入的变化不会触发 angular 渲染机制,使用这个指令可以实现实时渲染
Example
当修改实体时,需要在多个地方预览修改变化时,可以使用这个指令
<!-- 每次 patch 都立即重渲染 -->
<div [rxdbChangeDetector]="todo">{{ todo.title }}</div>
<!-- 输入停止 200ms 后才重渲染 -->
<div [rxdbChangeDetector]="todo" [debounceTime]="200">{{ todo.title }}</div>
Remarks
debounceTime 与 auditTime 单位均为毫秒,默认 0;
两者同时设置时串联生效,顺序为 debounceTime → auditTime(RAN-015)。
只有正有限值才会挂入管道:0(默认)、负值、NaN、Infinity 一律视为
禁用对应 operator。两个窗口都禁用时 patch 同步透传,OnPush 视图能在当前
变更周期内完成 markForCheck(RAN-011)。
Constructors
Constructor
new RxDBEntityChangeDirective(): RxDBEntityChangeDirective;
Defined in: rxdb-angular/src/rxdb-change-detector.directive.ts:92
Returns
RxDBEntityChangeDirective
Properties
auditTime
readonly auditTime: InputSignal<number>;
Defined in: rxdb-angular/src/rxdb-change-detector.directive.ts:90
采样窗口,单位毫秒。默认 0 表示不采样。
Remarks
语义同 RxJS auditTime:窗口内只放行最后一个值,可为持续输入提供稳定的刷新节流。
与 debounceTime 同时设置时两者串联,管道顺序为 debounceTime → auditTime。
仅正有限值生效;0、负值、NaN、Infinity 表示不挂入该 operator(RAN-011)。
debounceTime
readonly debounceTime: InputSignal<number>;
Defined in: rxdb-angular/src/rxdb-change-detector.directive.ts:79
防抖窗口,单位毫秒。默认 0 表示不防抖(每次 patch 都同步触发一次变更检测)。
Remarks
语义同 RxJS debounceTime:安静满该时长才放行,持续输入期间不触发渲染。
与 auditTime 同时设置时两者串联(先 debounce 再 audit),不是二选一。
仅正有限值生效;0、负值、NaN、Infinity 表示不挂入该 operator(RAN-011)。
rxdbChangeDetector
readonly rxdbChangeDetector: InputSignal<any>;
Defined in: rxdb-angular/src/rxdb-change-detector.directive.ts:68
要监听的实体实例。为 undefined 时不建立订阅(可安全地绑定尚未加载的实体)。