const vm = new Vue(){...}
所有vm实例的属性和方法,都是以$开头,如:vm.$watch()
1.它是什么?
它是一个js对象
2.它里面放什么?
既然是对象,即可以放属性对象,也可以放方法
3.它里面的方法什么时候调用?
初始化显示的时候和相关的data属性数据发生变化的时候
4.它里面的方法是什么方法?
回调函数
5.回调函数的三个特征?
1> 你定义的 2> 你没有调用 3>但是它执行了
6.在它里面如何调用data的属性变量?
用this,凡是data,computed,watch中的属性变量都可以用this调用
7.它里面方法返回的值是什么值?
返回的值作为当前属性的值,方法名也可以当作属性名使用
8.每个计算属性都默认自带set和get两个方法:
set方法是监视计算属性的值是否发生变化,如果发生变化,就调用,并且把值作为参数传进来,这里的set不是通常意义上的设置,get方法,当其它地方要读取的时候调用,无参数,返回计算属性值
9.计算属性存在缓存:第一次读取的时候,调用get方法,计算属性有值后,以自身名称为key,值为value,放到对象中,再放到缓存中,多次读取就只调用一次get方法,下次取的时候直接从缓存中取