computed是vue的计算属性,是根据依赖关系进行缓存的计算,只有在它的相关依赖发生改变时才会进行更新,就比如说computed下面有一个方法,然后这个方法,依赖了一些变量,如果依赖的变量产生变化的时候,这个方法就会被调用,一般在这个比如说要对这个属性进行计算操作的时候可以在这个里面去操作。。
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图,比如可以在html形成之前去调用一些东西,比如说提前调用一个接口,或者是去做一些预处理,但是这个时候你如果要去操作dom是不能操作到的比如你要去使用document.getElementById()拿一下id为head的标签,这个时候是不可能拿到的,因为dom节点还没有生成
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。在这里面调用document.getElementById()是可以成功的因为此时dom节点已经形成
还有一个点想知道,如果一个api接口在created中调用,和mounted中调用有什么区别呢?
答案是没什么区别,至少在页面上没感觉出来尤其是经过双向绑定的数据更是没有感觉,
在created时期请求接口拿到页面数据,DOM 还没有渲染,最后数据和DOM会同步渲染在页面中。
在mounted时期请求接口拿到页面数据,DOM 已经渲染到页面中,拿到数据后在渲染数据到页面上。