feat(types): expose ComponentCustomOptions for declaring custom options

This commit is contained in:
Evan You
2020-04-17 09:41:36 -04:00
parent be21cfb1db
commit c0adb67c2e
3 changed files with 35 additions and 4 deletions

View File

@@ -51,6 +51,24 @@ import { Directive } from './directives'
import { ComponentPublicInstance } from './componentProxy'
import { warn } from './warning'
/**
* Interface for declaring custom options.
*
* @example
* ```ts
* declare module '@vue/runtime-core' {
* interface ComponentCustomOptions {
* beforeRouteUpdate?(
* to: Route,
* from: Route,
* next: () => void
* ): void
* }
* }
* ```
*/
export interface ComponentCustomOptions {}
export interface ComponentOptionsBase<
Props,
RawBindings,
@@ -59,7 +77,10 @@ export interface ComponentOptionsBase<
M extends MethodOptions,
E extends EmitsOptions,
EE extends string = string
> extends LegacyOptions<Props, D, C, M>, SFCInternalOptions {
>
extends LegacyOptions<Props, D, C, M>,
SFCInternalOptions,
ComponentCustomOptions {
setup?: (
this: void,
props: Props,

View File

@@ -189,8 +189,9 @@ export {
export {
ComponentOptions,
ComponentOptionsWithoutProps,
ComponentOptionsWithObjectProps as ComponentOptionsWithProps,
ComponentOptionsWithArrayProps
ComponentOptionsWithObjectProps,
ComponentOptionsWithArrayProps,
ComponentCustomOptions
} from './componentOptions'
export {
ComponentPublicInstance,