1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
declare type InternalComponentOptions = {
_isComponent: true;
parent: Component;
_parentVnode: VNode;
render?: Function;
staticRenderFns?: Array<Function>
};
type InjectKey = string | Symbol;
declare type ComponentOptions = {
componentId?: string;
// data
data: Object | Function | void;
props?: { [key: string]: PropOptions };
propsData?: ?Object;
computed?: {
[key: string]: Function | {
get?: Function;
set?: Function;
cache?: boolean
}
};
methods?: { [key: string]: Function };
watch?: { [key: string]: Function | string };
// DOM
el?: string | Element;
template?: string;
render: (h: () => VNode) => VNode;
renderError?: (h: () => VNode, err: Error) => VNode;
staticRenderFns?: Array<() => VNode>;
// lifecycle
beforeCreate?: Function;
created?: Function;
beforeMount?: Function;
mounted?: Function;
beforeUpdate?: Function;
updated?: Function;
activated?: Function;
deactivated?: Function;
beforeDestroy?: Function;
destroyed?: Function;
errorCaptured?: () => boolean | void;
serverPrefetch?: Function;
// assets
directives?: { [key: string]: Object };
components?: { [key: string]: Class<Component> };
transitions?: { [key: string]: Object };
filters?: { [key: string]: Function };
// context
provide?: { [key: string | Symbol]: any } | () => { [key: string | Symbol]: any };
inject?: { [key: string]: InjectKey | { from?: InjectKey, default?: any }} | Array<string>;
// component v-model customization
model?: {
prop?: string;
event?: string;
};
// misc
parent?: Component;
mixins?: Array<Object>;
name?: string;
extends?: Class<Component> | Object;
delimiters?: [string, string];
comments?: boolean;
inheritAttrs?: boolean;
// private
_isComponent?: true;
_propKeys?: Array<string>;
_parentVnode?: VNode;
_parentListeners?: ?Object;
_renderChildren?: ?Array<VNode>;
_componentTag: ?string;
_scopeId: ?string;
_base: Class<Component>;
};
declare type PropOptions = {
type: Function | Array<Function> | null;
default: any;
required: ?boolean;
validator: ?Function;
}
|