🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、概述 Vue初始化的选项对象,包括数据类、DOM类、生命周期钩子类、资源类、组合类及其他类; 可以用于new Vue()、Vue.component...、 >[danger] > 1、除了官方确定的这些选项对象之外,还可以通过混入的方式,添加新的组件选项对象;详情参考:[https://cn.vuejs.org/v2/guide/mixins.html](https://cn.vuejs.org/v2/guide/mixins.html); > 2、除选项对象外,vue实例还可以传入自定义 property,通过vm.$options获取; > ![](https://img.kancloud.cn/53/30/53300f6da55eed29e69de7854132081a_662x176.png) ## 二、数据类 1、data 参考:[https://cn.vuejs.org/v2/api/#data](https://cn.vuejs.org/v2/api/#data) 组件实例化的时候,data是一个实例对象。但是定义组件的时候, data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 data 仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!通过提供 data 函数,每次创建一个新实例后,我们能够调用 data 函数,从而返回初始数据的一个全新副本数据对象。 实例化: ![](https://img.kancloud.cn/43/43/434375774819689e23b16eb566b2c96e_675x244.png) 定义组件方式1: ![](https://img.kancloud.cn/ba/fd/bafd41067bc0fb444492cfd0b69ba8de_675x174.png) 定义组件方式2: ![](https://img.kancloud.cn/3f/c3/3fc35a75a5bf4163b7105e10299dceba_457x298.png) 2、props 参考:[https://cn.vuejs.org/v2/api/#props](https://cn.vuejs.org/v2/api/#props) 3、propsData 参考:[https://cn.vuejs.org/v2/api/#propsData](https://cn.vuejs.org/v2/api/#propsData) 4、computed 参考:[https://cn.vuejs.org/v2/api/#computed](https://cn.vuejs.org/v2/api/#computed) 里面是定义的函数,当引用的属性发生变化的时候,会自动触发所有引用的地方更新数据,与methods不同的在于: >[danger] computed是**属性调用**,而methods是**函数调用**; > computed带有**缓存功能**,而methods不是; > 5、methods 参考:[https://cn.vuejs.org/v2/api/#methods](https://cn.vuejs.org/v2/api/#methods) methods中定义的函数将被混入到 Vue 实例中。可以直接通过 VM 实例访问这些方法,或者在指令表达式中使用。方法中的 `this` 自动绑定为 Vue 实例。 6、watch 参考:[https://cn.vuejs.org/v2/api/#watch](https://cn.vuejs.org/v2/api/#watch) ## 三、DOM类 1、el 参考:[https://cn.vuejs.org/v2/api/#el](https://cn.vuejs.org/v2/api/#el) 2、template 参考:[https://cn.vuejs.org/v2/api/#template](https://cn.vuejs.org/v2/api/#template) 3、render 参考:[https://cn.vuejs.org/v2/api/#render](https://cn.vuejs.org/v2/api/#render) 4、renderError 参考:[https://cn.vuejs.org/v2/api/#renderError](https://cn.vuejs.org/v2/api/#renderError) ## 四、生命周期类 1、beforeCreate 2、created 3、beforeMount 4、mounted 5、beforeUpdate 6、updated 7、activated 8、deactivated 9、beforeDestroy 10、destroyed 11、errorCaptured 参考:[https://cn.vuejs.org/v2/api/#选项-生命周期钩子](https://cn.vuejs.org/v2/api/#选项-生命周期钩子) ## 五、资源类 1、directives 2、filters 3、components 参考:[https://cn.vuejs.org/v2/api/#选项-资源](https://cn.vuejs.org/v2/api/#选项-资源) 局部注册组件,注册后只能在当页调用;这里申明当前页面组件可用的第三方组件; ## 六、组合 1、parent 2、mixins 3、extends 4、provide-inject [https://cn.vuejs.org/v2/api/#选项-组合](https://cn.vuejs.org/v2/api/#选项-组合) ## 七、其他类 1、name 2、delimiters 3、functional 4、model 5、inheritAttrs 6、comments [https://cn.vuejs.org/v2/api/#选项-其它](https://cn.vuejs.org/v2/api/#选项-其它)