data
- data返回的对象最终会被vue所代理 this.$data.xxx 不建议这么做
- 建议哪些暂时没有使用到的属性,也添加到data返回的对象中,值可以设置为null
- vue在构建响应式对象时,会同时把对象中的属性也做成响应式属性 深层响应式对象
methods
- methods()用来指定实例对象中的方法
- 它时一个对象,可以在它里边定义多个方法
- 这些方法最终会被挂载到组件实例上
- 可以直接通过组件实例来调用这些方法
- 所有组件实例上的属性都可以在模板中直接访问
- methods中函数的this会自动绑定为组件实例
computed
computed用来指定计算属性
- {属性名:getter}
- 计算属性,只在其依赖的数据发生变化时才会重新执行
- 会对数据进行缓存
- 在计算属性的getter中,尽量只做读取相关的逻辑
- 不要去做那些会产生(副)作用的代码
- 可以为计算属性设置为setter,使得计算属性可写,但是不建议