API 文档 / vuefire
模块: vuefire
接口
- DatabasePluginOptions
- DatabaseSnapshotSerializer
- FirestorePluginOptions
- UseCollectionOptions
- UseDatabaseRefOptions
- UseDocumentOptions
- VueFireAppCheckOptions
- VueFireAuthOptions
- VueFireAuthOptionsFromAuth
- VueFireModule
- VueFireOptions
- _RefDatabase
引用
rtdbPlugin
重命名和重新导出 databasePlugin
类型别名
FirebaseOption
Ƭ FirebaseOption: VueFirebaseObject | () => VueFirebaseObject
FirestoreOption
Ƭ FirestoreOption: VueFirestoreObject | () => VueFirestoreObject
UseListOptions
Ƭ UseListOptions<DataT>: UseDatabaseRefOptions<DataT>
类型参数
| 名称 | 类型 |
|---|---|
DataT | unknown |
UseObjectOptions
Ƭ UseObjectOptions<DataT>: UseDatabaseRefOptions<DataT>
类型参数
| 名称 | 类型 |
|---|---|
DataT | unknown |
VueDatabaseDocumentData
Ƭ VueDatabaseDocumentData<T>: null | T & { id: string }
由 serialize 选项默认使用的类型。
类型参数
| 名称 | 类型 |
|---|---|
T | unknown |
VueDatabaseQueryData
Ƭ VueDatabaseQueryData<T>: _Simplify<NonNullable<VueDatabaseDocumentData<T>>>[]
与 VueDatabaseDocumentData 相同,但用于查询。
类型参数
| 名称 | 类型 |
|---|---|
T | unknown |
VueFirebaseObject
Ƭ VueFirebaseObject: Record<string, Query | DatabaseReference>
VueFirestoreDocumentData
Ƭ VueFirestoreDocumentData<T>: null | T & { id: string }
由 firestoreDefaultConverter 默认使用的类型。
类型参数
| 名称 | 类型 |
|---|---|
T | DocumentData |
VueFirestoreObject
Ƭ VueFirestoreObject: Record<string, _FirestoreDataSource>
VueFirestoreQueryData
Ƭ VueFirestoreQueryData<T>: _Simplify<NonNullable<VueFirestoreDocumentData<T>>>[]
类型参数
| 名称 | 类型 |
|---|---|
T | DocumentData |
变量
devalueCustomParsers
• Const devalueCustomParsers: Object
用于 devalue 的自定义解析器,以支持 SSR 上的 Firestore Timestamp 和 GeoPoint。
类型声明
| 名称 | 类型 |
|---|---|
GeoPoint | (data: { latitude: number ; longitude: number }) => GeoPoint |
TimeStamp | (data: { nanoseconds: number ; seconds: number }) => Timestamp |
devalueCustomStringifiers
• Const devalueCustomStringifiers: Object
用于 devalue 的自定义字符串化器,以支持 SSR 上的 Firestore Timestamp 和 GeoPoint。
类型声明
| 名称 | 类型 |
|---|---|
GeoPoint | (data: unknown) => false | { latitude: number ; longitude: number } |
TimeStamp | (data: unknown) => false | { nanoseconds: number ; seconds: number } |
firestoreDefaultConverter
• Const firestoreDefaultConverter: FirestoreDataConverter<VueFirestoreDocumentData>
Firestore 数据的默认转换器。可以通过设置 globalFirestoreOptions.converter 在全局范围内覆盖。
globalDatabaseOptions
• Const globalDatabaseOptions: _DatabaseRefOptionsWithDefaults
globalFirestoreOptions
• Const globalFirestoreOptions: _FirestoreRefOptionsWithDefaults
全局默认选项
函数
VueFire
▸ VueFire(app, «destructured»): void
VueFire Vue 插件。
参数
| 名称 | 类型 |
|---|---|
app | App<any> |
«destructured» | VueFireOptions |
返回
void
VueFireAppCheck
▸ VueFireAppCheck(options): (firebaseApp: FirebaseApp, app: App<any>) => void
要添加到 VueFire Vue 插件选项中的 VueFire 应用检查模块。此模块 **仅限客户端**,不应在服务器上添加。
参数
| 名称 | 类型 |
|---|---|
options | VueFireAppCheckOptions |
返回
fn
▸ (firebaseApp, app): void
参数
| 名称 | 类型 |
|---|---|
firebaseApp | FirebaseApp |
app | App<any> |
返回
void
示例
import { createApp } from 'vue'
import { VueFire, VueFireAppCheck } from 'vuefire'
const app = createApp(App)
app.use(VueFire, {
modules: [VueFireAppCheck()],
})VueFireAuth
▸ VueFireAuth(initialUser?): VueFireModule
要添加到 VueFire Vue 插件选项中的 VueFire Auth 模块。这将使用 **所有** 依赖项调用 VueFireAuthWithDependencies(),从而增加捆绑包大小。考虑使用 VueFireAuthWithDependencies() 来更好地控制捆绑包大小。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
initialUser? | _Nullable<User> | 用户的初始值。用于 SSR |
返回
参见
https://firebase.google.com/docs/auth/web/custom-dependencies
示例
import { createApp } from 'vue'
import { VueFire, VueFireAuth } from 'vuefire'
const app = createApp(App)
app.use(VueFire, {
modules: [VueFireAuth()],
})VueFireAuthOptionsFromAuth
▸ VueFireAuthOptionsFromAuth(options): VueFireModule
要添加到 VueFire Vue 插件选项中的 VueFire Auth 模块。它接受一个 auth 实例而不是依赖项。它允许手动调用模拟器和其他高级用例。对于大多数用例,请优先使用 VueFireAuthWithDependencies() 和 VueFireAuth()。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
options | VueFireAuthOptionsFromAuth | 身份验证实例和初始用户 |
返回值
VueFireAuthWithDependencies
▸ VueFireAuthWithDependencies(options): VueFireModule
要添加到 VueFire Vue 插件选项中的 VueFire 身份验证模块。它接受传递给 initializeAuth() 的依赖项,以更好地控制包大小。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
options | VueFireAuthOptions | 传递给 initializeAuth() 的用户和选项。 |
返回值
VueFireDatabaseOptionsAPI
▸ VueFireDatabaseOptionsAPI(pluginOptions?): (firebaseApp: FirebaseApp, app: App<any>) => void
要添加到 VueFire Vue 插件选项中的 VueFire 数据库模块。如果您**仅使用组合 API**(例如 useDatabaseObject() 和 useDatabaseList()),则不应添加它。
参数
| 名称 | 类型 |
|---|---|
pluginOptions? | DatabasePluginOptions |
返回值
fn
▸ (firebaseApp, app): void
参数
| 名称 | 类型 |
|---|---|
firebaseApp | FirebaseApp |
app | App<any> |
返回值
void
示例
import { createApp } from 'vue'
import { VueFire, VueFireDatabaseOptionsAPI } from 'vuefire'
const app = createApp(App)
app.use(VueFire, {
modules: [VueFireDatabaseOptionsAPI()],
})VueFireFirestoreOptionsAPI
▸ VueFireFirestoreOptionsAPI(pluginOptions?): (firebaseApp: FirebaseApp, app: App<any>) => void
要添加到 VueFire Vue 插件选项中的 VueFire Firestore 模块。
参数
| 名称 | 类型 |
|---|---|
pluginOptions? | FirestorePluginOptions |
返回值
fn
▸ (firebaseApp, app): void
参数
| 名称 | 类型 |
|---|---|
firebaseApp | FirebaseApp |
app | App<any> |
返回值
void
示例
import { createApp } from 'vue'
import { VueFire, VueFireFirestoreOptionsAPI } from 'vuefire'
const app = createApp(App)
app.use(VueFire, {
modules: [VueFireFirestoreOptionsAPI()],
})databaseDefaultSerializer
▸ databaseDefaultSerializer(snapshot): VueDatabaseDocumentData<unknown>
将**存在**的 ref 的 firebase 数据库快照转换为可绑定数据记录。
参数
| 名称 | 类型 |
|---|---|
snapshot | DataSnapshot |
返回值
VueDatabaseDocumentData<unknown>
databasePlugin
▸ databasePlugin(app, pluginOptions?, firebaseApp?): void
如果您想添加 $databaseBind 和 $databaseUnbind 函数,请安装此插件。请注意,此插件仅在您使用选项 API 时才需要。如果您**仅使用组合 API**(例如 useDatabaseObject() 和 useDatabaseList()),则不应添加它。
参数
| 名称 | 类型 |
|---|---|
app | App<any> |
pluginOptions? | DatabasePluginOptions |
firebaseApp? | FirebaseApp |
返回值
void
已弃用
请改用 VueFire 和 VueFireDatabaseOptionsAPI 以及 modules 选项。
firestorePlugin
▸ firestorePlugin(app, pluginOptions?, firebaseApp?): void
安装此插件以添加 $firestoreBind 和 $firestoreUnbind 函数。请注意,如果您仅使用组合 API(useDocument() 和 useCollection()),则不需要此插件。
参数
| 名称 | 类型 |
|---|---|
app | App<any> |
pluginOptions? | FirestorePluginOptions |
firebaseApp? | FirebaseApp |
返回值
void
已弃用
请改用 VueFire 和 VueFireFirestoreOptionsAPI 以及 modules 选项。b
getCurrentUser
▸ getCurrentUser(name?): Promise<_Nullable<User>>
返回一个 promise,该 promise 在用户加载后解析当前用户。必须在初始化 firebase 应用程序后调用。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
name? | string | firebase 应用程序的名称 |
返回值
Promise<_Nullable<User>>
updateCurrentUserProfile
▸ updateCurrentUserProfile(profile): Promise<void>
更新当前用户配置文件并更新当前用户状态。此函数在内部调用来自 'firebase/auth' 的 updateProfile(),然后更新当前用户状态。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
profile | Object | 新的个人资料信息 |
profile.displayName? | _Nullable<string> | - |
profile.photoURL? | _Nullable<string> | - |
返回值
Promise<void>
useAppCheck
▸ useAppCheck(name?): AppCheck
检索 Firebase 应用程序检查实例。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
name? | string | 应用程序的名称 |
返回值
AppCheck
useAppCheckToken
▸ useAppCheckToken(): Ref<undefined | string>
当前应用程序检查令牌作为 Ref。请注意,此 ref 在服务器上始终为 undefined。
返回值
Ref<undefined | string>
useCollection
▸ useCollection<R>(collectionRef, options?): _RefFirestore<_InferReferenceType<R>[]>
从 Firestore 中的集合 ref 或查询创建文档的反应式集合(通常是数组)。提取查询或转换器的类型。
类型参数
| 名称 | 类型 |
|---|---|
R | extends Query<unknown, DocumentData> | CollectionReference<unknown, DocumentData> |
参数
| 名称 | 类型 | 描述 |
|---|---|---|
collectionRef | MaybeRefOrGetter<_Nullable<R>> | 查询或集合 |
options? | UseCollectionOptions<_InferReferenceType<R>[]> | 可选选项 |
返回值
_RefFirestore<_InferReferenceType<R>[]>
▸ useCollection<T>(collectionRef, options?): _RefFirestore<VueFirestoreQueryData<T>>
从 Firestore 中的集合 ref 或查询创建文档的反应式集合(通常是数组)。接受一个泛型来**强制返回 Ref 的类型**。请注意,您可以(并且可能应该)使用 .withConverter() 来获得集合引用的更严格的类型安全版本。
类型参数
| 名称 |
|---|
T |
参数
| 名称 | 类型 | 描述 |
|---|---|---|
collectionRef | MaybeRefOrGetter<_Nullable<Query<unknown, DocumentData> | CollectionReference<unknown, DocumentData>>> | 查询或集合 |
options? | UseCollectionOptions<T[]> | 可选选项 |
返回值
_RefFirestore<VueFirestoreQueryData<T>>
useCurrentUser
▸ useCurrentUser(name?): Ref<_Nullable<User>>
返回 Firebase 应用程序中当前已认证用户的响应式变量。如果用户未认证或用户注销,则该引用为 null。在用户最初加载之前,该引用为 undefined。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
name? | string | 应用程序的名称 |
返回值
Ref<_Nullable<User>>
useDatabase
▸ useDatabase(name?): Database
检索 Database 实例。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
name? | string | 应用程序的名称 |
返回值
Database
Database 实例
useDatabaseList
▸ useDatabaseList<T>(reference, options?): _RefDatabase<VueDatabaseQueryData<T>>
创建一个与数据库连接的响应式变量,作为数组。数组中的每个元素都将包含一个 id 属性。请注意,如果您覆盖了 serialize 选项,它也应该 **在其中设置一个 id 属性** 才能使它正常工作。
类型参数
| 名称 | 类型 |
|---|---|
T | unknown |
参数
| 名称 | 类型 | 描述 |
|---|---|---|
reference | MaybeRefOrGetter<_Nullable<Query | DatabaseReference>> | 对数据库的引用或查询 |
options? | UseListOptions<T> | 可选选项 |
返回值
_RefDatabase<VueDatabaseQueryData<T>>
useDatabaseObject
▸ useDatabaseObject<T>(reference, options?): _RefDatabase<VueDatabaseDocumentData<T> | undefined>
创建一个与数据库连接的响应式变量,作为对象。如果引用是原始值,它将被转换为包含一个 $value 属性(具有原始值)和一个 id 属性(具有引用的键)的对象。
类型参数
| 名称 | 类型 |
|---|---|
T | unknown |
参数
| 名称 | 类型 | 描述 |
|---|---|---|
reference | MaybeRefOrGetter<_Nullable<DatabaseReference>> | 对数据库的引用或查询 |
options? | UseObjectOptions<T> | 可选选项 |
返回值
_RefDatabase<VueDatabaseDocumentData<T> | undefined>
useDocument
▸ useDocument<R>(documentRef, options?): _RefFirestore<_InferReferenceType<R> | undefined>
从 Firestore 的文档引用创建响应式文档。自动提取转换器或文档的类型。
类型参数
| 名称 | 类型 |
|---|---|
R | extends DocumentReference<unknown, DocumentData> |
参数
| 名称 | 类型 | 描述 |
|---|---|---|
documentRef | MaybeRefOrGetter<_Nullable<R>> | 文档引用 |
options? | UseDocumentOptions<_InferReferenceType<R>> | 可选选项 |
返回值
_RefFirestore<_InferReferenceType<R> | undefined>
▸ useDocument<T>(documentRef, options?): _RefFirestore<VueFirestoreDocumentData<T> | undefined>
从 Firestore 中的集合 ref 或查询创建文档的反应式集合(通常是数组)。接受一个泛型来**强制返回 Ref 的类型**。请注意,您可以(并且可能应该)使用 .withConverter() 来获得集合引用的更严格的类型安全版本。
类型参数
| 名称 |
|---|
T |
参数
| 名称 | 类型 | 描述 |
|---|---|---|
documentRef | MaybeRefOrGetter<_Nullable<DocumentReference<DocumentData, DocumentData>>> | 查询或集合 |
options? | UseDocumentOptions<T> | 可选选项 |
返回值
_RefFirestore<VueFirestoreDocumentData<T> | undefined>
useFirebaseApp
▸ useFirebaseApp(name?): FirebaseApp
获取 Firebase 应用程序实例。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
name? | string | 可选的 Firebase 应用程序名称 |
返回值
FirebaseApp
Firebase 应用程序
useFirebaseAuth
▸ useFirebaseAuth(): Auth | null
检索 Firebase Auth 实例。**在服务器上返回 null**。在客户端使用 TypeScript 时,您可以使用 useFirebaseAuth()! 强制类型。
返回值
Auth | null
Auth 实例
useFirebaseStorage
▸ useFirebaseStorage(name?): FirebaseStorage
检索 Storage 实例。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
name? | string | 应用程序的名称 |
返回值
FirebaseStorage
Database 实例
useFirestore
▸ useFirestore(name?): Firestore
检索 Firestore 实例。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
name? | string | 应用程序的名称 |
返回值
Firestore
Firestore 实例
useIsCurrentUserLoaded
▸ useIsCurrentUserLoaded(name?): ComputedRef<boolean>
一个辅助函数,返回一个计算后的布尔值,一旦当前用户不再为 undefined,它将变为 true。请注意,这不能确保用户已登录,只能确保初始登录过程已运行。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
name? | string | 应用程序的名称 |
返回值
ComputedRef<boolean>
useList
▸ useList<T>(reference, options?): _RefDatabase<VueDatabaseQueryData<T>>
类型参数
| 名称 | 类型 |
|---|---|
T | unknown |
参数
| 名称 | 类型 |
|---|---|
reference | MaybeRefOrGetter<_Nullable<Query | DatabaseReference>> |
options? | UseListOptions<T> |
返回值
_RefDatabase<VueDatabaseQueryData<T>>
已弃用
请改用 useDatabaseList()
useObject
▸ useObject<T>(reference, options?): _RefDatabase<VueDatabaseDocumentData<T> | undefined>
类型参数
| 名称 | 类型 |
|---|---|
T | unknown |
参数
| 名称 | 类型 |
|---|---|
reference | MaybeRefOrGetter<_Nullable<DatabaseReference>> |
options? | UseObjectOptions<T> |
返回值
_RefDatabase<VueDatabaseDocumentData<T> | undefined>
已弃用
请改用 useDatabaseObject()
usePendingPromises
▸ usePendingPromises(app?): Promise<readonly [string, unknown][]>
允许等待所有挂起的數據源。在等待 SSR 时很有用
参数
| 名称 | 类型 | 描述 |
|---|---|---|
app? | FirebaseApp | Firebase 应用程序 |
返回值
Promise<readonly [string, unknown][]>
- 一个 Promise,它将解析为所有已解析的挂起 Promise 的数组
useSSRInitialState
▸ useSSRInitialState(initialState, firebaseApp): SSRStore
允许在客户端获取 SSR 期间设置的初始状态。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
initialState | undefined | SSRStore | 在 SSR 期间为 Firebase 应用设置的初始状态。传递 undefined 表示不设置它 |
firebaseApp | FirebaseApp | 要获取初始状态的 Firebase 应用 |
返回
SSRStore
当前 firebaseApp 的初始状态
useStorage
▸ useStorage(name?): FirebaseStorage
参数
| 名称 | 类型 |
|---|---|
name? | string |
返回
FirebaseStorage
已弃用
请使用 useFirebaseStorage() 代替
useStorageFile
▸ useStorageFile(storageRef): Object
StorageReference 的响应式信息(url、元数据)。允许更新和删除存储对象。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
storageRef | MaybeRefOrGetter<_Nullable<StorageReference>> | StorageReference |
返回
Object
| 名称 | 类型 |
|---|---|
metadata | ShallowRef<undefined | null | FullMetadata> |
refresh | () => Promise<[null | string, null | FullMetadata]> |
snapshot | ShallowRef<undefined | null | UploadTaskSnapshot> |
updateMetadata | (newMetadata: SettableMetadata) => Promise<null | FullMetadata> |
upload | (newData: Blob | Uint8Array | ArrayBuffer, newMetadata?: UploadMetadata) => undefined | Promise<unknown> |
uploadError | ShallowRef<undefined | null | StorageError> |
uploadProgress | ComputedRef<null | number> |
uploadTask | ShallowRef<undefined | null | UploadTask> |
url | Ref<undefined | null | string> |
useStorageFileMetadata
▸ useStorageFileMetadata(storageRef): Object
返回 StorageReference 元数据的响应式版本。如果 StorageReference 发生更改,则会自动更新。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
storageRef | MaybeRefOrGetter<_Nullable<StorageReference>> | StorageReference |
返回
Object
| 名称 | 类型 |
|---|---|
metadata | ShallowRef<undefined | null | FullMetadata> |
promise | ShallowRef<Promise<null | FullMetadata>> |
refresh | () => Promise<null | FullMetadata> |
update | (newMetadata: SettableMetadata) => Promise<null | FullMetadata> |
useStorageFileUrl
▸ useStorageFileUrl(storageRef): Object
检索 StorageReference 的响应式下载 URL。如果 StorageReference 发生更改,则会自动更新。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
storageRef | MaybeRefOrGetter<_Nullable<StorageReference>> | StorageReference |
返回
Object
| 名称 | 类型 |
|---|---|
promise | ShallowRef<Promise<null | string>> |
refresh | () => Promise<null | string> |
url | Ref<undefined | null | string> |
useStorageMetadata
▸ useStorageMetadata(storageRef): Object
参数
| 名称 | 类型 |
|---|---|
storageRef | MaybeRefOrGetter<_Nullable<StorageReference>> |
返回
Object
| 名称 | 类型 |
|---|---|
metadata | ShallowRef<undefined | null | FullMetadata> |
promise | ShallowRef<Promise<null | FullMetadata>> |
refresh | () => Promise<null | FullMetadata> |
update | (newMetadata: SettableMetadata) => Promise<null | FullMetadata> |
已弃用
请使用 useStorageFileMetadata() 代替
useStorageObject
▸ useStorageObject(storageRef): Object
参数
| 名称 | 类型 |
|---|---|
storageRef | MaybeRefOrGetter<_Nullable<StorageReference>> |
返回
Object
| 名称 | 类型 |
|---|---|
metadata | ShallowRef<undefined | null | FullMetadata> |
refresh | () => Promise<[null | string, null | FullMetadata]> |
snapshot | ShallowRef<undefined | null | UploadTaskSnapshot> |
updateMetadata | (newMetadata: SettableMetadata) => Promise<null | FullMetadata> |
upload | (newData: Blob | Uint8Array | ArrayBuffer, newMetadata?: UploadMetadata) => undefined | Promise<unknown> |
uploadError | ShallowRef<undefined | null | StorageError> |
uploadProgress | ComputedRef<null | number> |
uploadTask | ShallowRef<undefined | null | UploadTask> |
url | Ref<undefined | null | string> |
已弃用
请使用 useStorageFile() 代替
useStorageUrl
▸ useStorageUrl(storageRef): Object
参数
| 名称 | 类型 |
|---|---|
storageRef | MaybeRefOrGetter<_Nullable<StorageReference>> |
返回
Object
| 名称 | 类型 |
|---|---|
promise | ShallowRef<Promise<null | string>> |
refresh | () => Promise<null | string> |
url | Ref<undefined | null | string> |
已弃用
请使用 useStorageFileUrl() 代替