RxDB
Defined in: packages/rxdb/src/RxDB.ts:85
RxDB 是个单例对象,负责管理插件、适配器、事件以及上下文等全局功能 全局只能创建一个 RxDB 实例,所有 entity 都通过这个实例进行管理 所有 Entity 的 Class 也只能被注册一次
Constructors
Constructor
new RxDB(options): RxDB;
Defined in: packages/rxdb/src/RxDB.ts:239
构造函数
Parameters
| Parameter | Type | Description |
|---|---|---|
options | RxDBOptions | RxDB 配置选项 |
Returns
RxDB
Properties
connected$
readonly connected$: Observable<boolean>;
Defined in: packages/rxdb/src/RxDB.ts:189
连接状态 Observable
entityManager
readonly entityManager: EntityManager;
Defined in: packages/rxdb/src/RxDB.ts:199
Entity 管理
localAdapter$
readonly localAdapter$: Observable<IRxDBAdapter & RxDBAdapterLocalBase>;
Defined in: packages/rxdb/src/RxDB.ts:161
本地适配器
remoteAdapter$
readonly remoteAdapter$: Observable<IRxDBAdapter & RxDBAdapterRemoteBase>;
Defined in: packages/rxdb/src/RxDB.ts:175
远程适配器
RxDBBranch
RxDBBranch: typeof RxDBBranch;
Defined in: packages/rxdb/src/system/types.ts:504
RxDBBranch
RxDBChange
RxDBChange: typeof RxDBChange;
Defined in: packages/rxdb/src/system/types.ts:500
RxDBChange
RxDBMigration
RxDBMigration: typeof RxDBMigration;
Defined in: packages/rxdb/src/system/types.ts:496
RxDBMigration
RxDBSync
RxDBSync: typeof RxDBSync;
Defined in: packages/rxdb/src/system/types.ts:492
RxDBSync
schemaManager
readonly schemaManager: SchemaManager;
Defined in: packages/rxdb/src/RxDB.ts:194
Schema 管理
versionManager
readonly versionManager: VersionManager;
Defined in: packages/rxdb/src/RxDB.ts:204
版本管理
Accessors
config
Get Signature
get config(): RxDBOptions;
Defined in: packages/rxdb/src/RxDB.ts:231
Returns
context
Get Signature
get context(): RxDBContext;
Defined in: packages/rxdb/src/RxDB.ts:209
设置环境上下文
Returns
Set Signature
set context(context): void;
Defined in: packages/rxdb/src/RxDB.ts:213
Parameters
| Parameter | Type |
|---|---|
context | RxDBContext |
Returns
void
firstConnectedAt
Get Signature
get firstConnectedAt(): Date | undefined;
Defined in: packages/rxdb/src/RxDB.ts:220
获取首次连接时间
Returns
Date | undefined
version
Get Signature
get version(): string;
Defined in: packages/rxdb/src/RxDB.ts:227
获取 RxDB 版本号
Returns
string
Methods
adapter()
adapter<K>(adapterName, adapter): this;
Defined in: packages/rxdb/src/RxDB.ts:289
注册 adapter
Type Parameters
| Type Parameter |
|---|
K extends string | number |
Parameters
| Parameter | Type | Description |
|---|---|---|
adapterName | K | 适配器名称 |
adapter | AdapterFactory | 适配器工厂函数 |
Returns
this
返回 RxDB 实例,支持链式调用
addEventListener()
addEventListener<T>(type, listener): void;
Defined in: packages/rxdb/src/RxDB.ts:429
监听事件
Type Parameters
| Type Parameter |
|---|
T extends keyof RxDBEventMap |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | T | 事件类型 |
listener | EventListener<RxDBEventMap[T]> | 事件监听器函数 |
Returns
void
connect()
connect<K>(adapterName): Promise<RxDBAdapters[K]>;
Defined in: packages/rxdb/src/RxDB.ts:349
连接适配器
Type Parameters
| Type Parameter |
|---|
K extends string | number |
Parameters
| Parameter | Type | Description |
|---|---|---|
adapterName | K | 适配器名称 |
Returns
Promise<RxDBAdapters[K]>
返回连接的适配器实例
disconnect()
disconnect<K>(adapterName): Promise<void>;
Defined in: packages/rxdb/src/RxDB.ts:399
断开适配器连接
仅断开指定适配器;只有当所有适配器都已断开时,才执行全局拆卸 (插件、网关、versionManager 与初始化状态)。避免单适配器断开误拆全局资源。
Type Parameters
| Type Parameter |
|---|
K extends string | number |
Parameters
| Parameter | Type | Description |
|---|---|---|
adapterName | K | 适配器名称 |
Returns
Promise<void>
disconnectAll()
disconnectAll(): Promise<void>;
Defined in: packages/rxdb/src/RxDB.ts:415
断开所有适配器连接并执行全局拆卸
Returns
Promise<void>
dispatchEvent()
dispatchEvent(event): void;
Defined in: packages/rxdb/src/RxDB.ts:446
派发事件
Parameters
| Parameter | Type | Description |
|---|---|---|
event | RxDBEvent | 要派发的事件对象 |
Returns
void
getAdapter()
getAdapter<K>(adapterName): Promise<RxDBAdapters[K]>;
Defined in: packages/rxdb/src/RxDB.ts:316
获取适配器实例
Type Parameters
| Type Parameter |
|---|
K extends string | number |
Parameters
| Parameter | Type | Description |
|---|---|---|
adapterName | K | 适配器名称 |
Returns
Promise<RxDBAdapters[K]>
返回适配器实例的 Promise
Throws
当适配器未注册时抛出错误
getRepositoryConfig()
getRepositoryConfig(repositoryName):
| IRepositoryConfig<Repository<any, IRepository<any>>>
| undefined;
Defined in: packages/rxdb/src/RxDB.ts:340
获取 Repository 配置
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryName | string | Repository 名称 |
Returns
| IRepositoryConfig<Repository<any, IRepository<any>>>
| undefined
Repository 配置对象,如果不存在返回 undefined
init()
init(): void;
Defined in: packages/rxdb/src/RxDB.ts:252
初始化 RxDB
Returns
void
removeEventListener()
removeEventListener<T>(type, listener): void;
Defined in: packages/rxdb/src/RxDB.ts:438
移除事件监听器
Type Parameters
| Type Parameter |
|---|
T extends keyof RxDBEventMap |
Parameters
| Parameter | Type | Description |
|---|---|---|
type | T | 事件类型 |
listener | EventListener<RxDBEventMap[T]> | 要移除的事件监听器函数 |
Returns
void
repository()
repository<RT>(repositoryName, config): RxDB;
Defined in: packages/rxdb/src/RxDB.ts:278
注册 Repository 统一接口,所有 repository 配置存储在 RxDB 中
Type Parameters
| Type Parameter |
|---|
RT extends Repository<any, IRepository<any>> |
Parameters
| Parameter | Type | Description |
|---|---|---|
repositoryName | string | Repository 名称 |
config | IRepositoryConfig<RT> | Repository 配置对象 |
Returns
RxDB
use()
use<Options>(plugin, options?): RxDB;
Defined in: packages/rxdb/src/RxDB.ts:300
安装插件
Type Parameters
| Type Parameter | Default type |
|---|---|
Options | any |
Parameters
| Parameter | Type | Description |
|---|---|---|
plugin | Plugin<Options> | 插件构造函数 |
options? | Options | 插件选项 |
Returns
RxDB
返回 RxDB 实例,支持链式调用