Vue2.6 源码全方位深入解析课
那为什么不用class来写vue而是用构造函数的形式呢?
这是因为Vue这个对象的方法太多了,很多都需要放在不同的模块来写的,在不同的模块我只要在vue的prototype上去添加方法就好了。如果是class,就不好添加了,只能在一个class上添加,继承的话调用的也是其他class了,所以采用构造函数的形式。
构造函数和class的使用场景区别
当一个对象或模块频繁用到继承或者内部属性比较固定,采用OOB的思想,即采用class
,如果一个模块非常大,要分散到多个子模块去编写,且不怎么用到继承采用构造函数的形式。
整体流程:
new Vue => init => $mount => compile => render => vnode => update(patch) => dom
new Vue & init:
混入了一些全局方法
$mount
调用render函数,没有则创建一个