Vue的实例、生命周期与Vue脚手架(vue-cli)实例详(3)

1.4、实例方法

 

1.5、实例参数vm.$options

vm.$options其实也就是我们new Vue(options)options这个选项对象可传入的属性

declare type ComponentOptions = {
 // data
 data: Object | Function | void; // 传入的data数据
 props?: { [key: string]: PropOptions }; // props传入的数据
 propsData?: ?Object; // 对于自定义组件,父级通过`props`传过来的数据
 computed?: { // 传入的计算属性
 [key: string]: Function | {
 get?: Function;
 set?: Function;
 cache?: boolean
 }
 };
 methods?: { [key: string]: Function }; // 传入的方法
 watch?: { [key: string]: Function | string }; // 传入的watch
 // DOM
 el?: string | Element; // 传入的el字符串
 template?: string; // 传入的模板字符串
 render: (h: () => VNode) => VNode; // 传入的render函数
 renderError?: (h: () => VNode, err: Error) => VNode;
 staticRenderFns?: Array<() => VNode>;
 // 钩子函数
 beforeCreate?: Function;
 created?: Function;
 beforeMount?: Function;
 mounted?: Function;
 beforeUpdate?: Function;
 updated?: Function;
 activated?: Function;
 deactivated?: Function;
 beforeDestroy?: Function;
 destroyed?: 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]: string | Symbol } | Array<string>;
 // component v-model customization
 model?: {
 prop?: string;
 event?: string;
 };
 // misc
 parent?: Component; // 父组件实例
 mixins?: Array<Object>; // mixins传入的数据
 name?: string; // 当前的组件名
 extends?: Class<Component> | Object; // extends传入的数据
 delimiters?: [string, string]; // 模板分隔符
 // 私有属性,均为内部创建自定义组件的对象时使用
 _isComponent?: true; // 是否是组件
 _propKeys?: Array<string>; // props传入对象的键数组
 _parentVnode?: VNode; // 当前组件,在父组件中的VNode对象
 _parentListeners?: ?Object; // 当前组件,在父组件上绑定的事件
 _renderChildren?: ?Array<VNode>; // 父组件中定义在当前元素内的子元素的VNode数组(slot)
 _componentTag: ?string; // 自定义标签名
 _scopeId: ?string;
 _base: Class<Component>; // Vue
 _parentElm: ?Node; // 当前自定义组件的父级dom结点
 _refElm: ?Node; // 当前元素的nextSlibing元素,即当前dom要插入到_parentElm结点下的_refElm前
}
      

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/426.html