Vue实例与组件实例

Vue实例与组件实例,第1张

new Vue()产生Vue实例对象(简称vm)

Vue.extend创建组件的时候自动new VueComponent产生组件实例对象(简称vc)

vc和vm99%的功能是同样的,不同点 ①.vc不能有el属性 ②.vc里的data必须是函数(多个组件实例对象共用一个data会产生数据污染,写成函数形式每次new的时候就会在内存新开辟一个地址)

vm的原型链:当new Vue产生vue实例对象的时候,这个实例对象的隐式原型属性(__proto__)和Vue这个构造函数的显式原型属性(prototype)都指向vue的原型对象,再由vue的原型对象的隐式原型属性指向Object的原型对象,再指向null

vc的原型链:当通过Vue.extend自动调用new VueComponent产生VueComponent实例对象的时候,这个实例对象的隐式原型属性(__proto__)和VueComponent这个构造函数的显式原型属性(prototype)都指向VueComponent的原型对象,本该由VueComponent的原型对象的隐式原型属性指向Object的原型对象的这条线Vue内部改为指向Vue的原型对象了,即查找关系:vc=>VueComponent的原型对象=>vue的原型对象=>Objecte的原型对象=>null

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/871162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存