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()
代替