mirror of
https://gitee.com/vuejs/vue.git
synced 2024-12-03 12:38:24 +08:00
101 lines
2.3 KiB
TypeScript
101 lines
2.3 KiB
TypeScript
import VNode from "../src/core/vdom/vnode";
|
|
import { Component } from "./component";
|
|
|
|
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]: Component };
|
|
transitions?: { [key: string]: object };
|
|
filters?: { [key: string]: Function };
|
|
|
|
// context
|
|
provide?: Record<string | symbol, any> | (() => Record<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?: Component | object;
|
|
delimiters?: [string, string];
|
|
comments?: boolean;
|
|
inheritAttrs?: boolean;
|
|
|
|
// Class API
|
|
abstract?: any
|
|
|
|
// private
|
|
_isComponent?: true;
|
|
_propKeys?: Array<string>;
|
|
_parentVnode?: VNode;
|
|
_parentListeners?: object | null;
|
|
_renderChildren?: Array<VNode> | null;
|
|
_componentTag: string | null;
|
|
_scopeId: string | null;
|
|
_base: Component;
|
|
};
|
|
|
|
declare type PropOptions = {
|
|
type: Function | Array<Function> | null;
|
|
default: any;
|
|
required: boolean | null;
|
|
validator: Function | null;
|
|
};
|