mirror of
https://gitee.com/vuejs/vue.git
synced 2024-12-02 03:57:36 +08:00
982d5a492f
fix #9727
80 lines
1.9 KiB
JavaScript
80 lines
1.9 KiB
JavaScript
declare type VNodeChildren = Array<?VNode | string | VNodeChildren> | string;
|
|
|
|
declare type VNodeComponentOptions = {
|
|
Ctor: Class<Component>;
|
|
propsData: ?Object;
|
|
listeners: ?Object;
|
|
children: ?Array<VNode>;
|
|
tag?: string;
|
|
};
|
|
|
|
declare type MountedComponentVNode = {
|
|
context: Component;
|
|
componentOptions: VNodeComponentOptions;
|
|
componentInstance: Component;
|
|
parent: VNode;
|
|
data: VNodeData;
|
|
};
|
|
|
|
// interface for vnodes in update modules
|
|
declare type VNodeWithData = {
|
|
tag: string;
|
|
data: VNodeData;
|
|
children: ?Array<VNode>;
|
|
text: void;
|
|
elm: any;
|
|
ns: string | void;
|
|
context: Component;
|
|
key: string | number | void;
|
|
parent?: VNodeWithData;
|
|
componentOptions?: VNodeComponentOptions;
|
|
componentInstance?: Component;
|
|
isRootInsert: boolean;
|
|
};
|
|
|
|
declare interface VNodeData {
|
|
key?: string | number;
|
|
slot?: string;
|
|
ref?: string;
|
|
is?: string;
|
|
pre?: boolean;
|
|
tag?: string;
|
|
staticClass?: string;
|
|
class?: any;
|
|
staticStyle?: { [key: string]: any };
|
|
style?: string | Array<Object> | Object;
|
|
normalizedStyle?: Object;
|
|
props?: { [key: string]: any };
|
|
attrs?: { [key: string]: string };
|
|
domProps?: { [key: string]: any };
|
|
hook?: { [key: string]: Function };
|
|
on?: ?{ [key: string]: Function | Array<Function> };
|
|
nativeOn?: { [key: string]: Function | Array<Function> };
|
|
transition?: Object;
|
|
show?: boolean; // marker for v-show
|
|
inlineTemplate?: {
|
|
render: Function;
|
|
staticRenderFns: Array<Function>;
|
|
};
|
|
directives?: Array<VNodeDirective>;
|
|
keepAlive?: boolean;
|
|
scopedSlots?: { [key: string]: Function };
|
|
model?: {
|
|
value: any;
|
|
callback: Function;
|
|
};
|
|
};
|
|
|
|
declare type VNodeDirective = {
|
|
name: string;
|
|
rawName: string;
|
|
value?: any;
|
|
oldValue?: any;
|
|
arg?: string;
|
|
oldArg?: string;
|
|
modifiers?: ASTModifiers;
|
|
def?: Object;
|
|
};
|
|
|
|
declare type ScopedSlotsData = Array<{ key: string, fn: Function } | ScopedSlotsData>;
|