每一个Vue组件的script部分都要向外暴露一个默认对象 default{},这个对象里不是可以随意写属性的,里面可以写的属性仅有几个,除了这几个属性以外里面不可以写任何其他东西。
默认暴露对象中可以写的属性
① data - 一个函数,用于储存并处理组件的数据,返回一个对象,data返回的这个对象中可以写入任意属性,这些数据可以被{{}}插入到template中加以运用,data中没有的数据不能进行插值,否则程序报错;
事件监听
v-bind:click=""可简写为@click="",其它事件同理

像这样在data中形成一个清单式数据列表的好处是整齐规范,缺点是结构冗长。
② methods - 一个对象,用于存放函数,一般是存放v-on事件绑定的事件函数,在data中定义的属性会成为本组件的属性也就是该属性已经挂靠在Vue的实例上,这些属性可以在methods定义的函数中直接this.获取,这里的this指向Vue的实例;

插入到结构层的函数还可以进行传参:

以上这种只关注数据而无需关注视图的编程模式称为MVVM模式,也就是说,数据变化,视图也会自动变化,如果想要视图变化,可以直接改数据实现。其中M代表数据模型Model,V代表视图View,VM代表View-Model视图数据模型(视图数据连接器)。
③ computed;
④ watch;
⑤ beforeCreate;
⑥ created;
⑦ beforeMount;
⑧ mounted;
⑨ beforeUpdate;
⑩ Updated;
⑪ beforeDestroy;
⑫ destroyed.
结合v-model数据双向绑定的进阶版计数器
v-model数据双向绑定另外开篇详细说,这里先看看案例。


由此我们可以看出,使用Vue来做功能开发,主要分为两个部分的工作,一部分是处理模板结构,另一部分就是处理数据和控制逻辑,不再需要操作DOM,大大简化了编程工作。