vue2.0和3.0区别面试题(vue2.0 vue3.0)

vue2.0和3.0区别面试题(vue2.0 vue3.0)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p></p> 

讯享网

vue2采用数据劫持,结合发布者订阅者模式,通过Objec.defineProperty对数据进行拦截,设置getter,setter,当数据被访问的时候,会调用getter,vue会通知所有依赖这个数据的视图组件,当要去修改的时候,会调用setter,vue去更新所有依赖这个属性的视图组件

vue3采用proxy代理,通过对监听对象和数据的读取和写入操作从而实现数据变化的监听,实现当数据变化的时候自动更新视图


讯享网

讯享网

vue2
父:beforeCreate-Created,beforeMount
子:beforeCreate-Created,beforeMount-Mounted
父:Mounted
父:beforeUpdate
子:beforeUpdate-Updated
父:Updated
父:beforeDestory
子:beforeDestory-Destoryed
父:Destoryed
vue3
父组件的 setup() 函数和生命周期钩子会先于子组件执行。
父: onbeforeMount 和子: onbeforeMount 会同时执行。
父: onmounted 和子: onmounted 会同时执行。
父: onbeforeUpdate 和子:onbeforeUpdate 会同时执行。
父: onupdated 和子:onupdated 会同时执行。
父: onbeforeUnmount 和子:onbeforeUnmount 会同时执行。
父: onunmounted 和子:onunmounted 会同时执行。

v-model本质是语法糖,通过v-on绑定value属性,通过v-bind绑定input事件

全局守卫:‌beforeEach、‌afterEach、‌beforeResolve
组件守卫:‌beforeRouteEnter、‌beforeRouteUpdate、‌beforeRouteLeave
路由独享守卫:‌beforeEnter

vuex:采用全局单例模式,通过一个store对象来管理所有状态
pinia:采用分离式,每个组件都有自己的store实例
vuex:包含state,mutation,action,getters,module
pinia:包含id,state,getters,actions

minxs通过对象的方式组合和共享代码,hooks通过函数的方式定义逻辑和状态
minxs不能追踪数据来源和传参,hooks可以。
minxs的生命周期调用会比组件快,会存在数据被覆盖的问题。

MVC:Model-View-Controller
Model:数据层
View:视图层
Controller:控制器
MVVW:Model-View-ViewModel
Model:数据层
View:视图层
ViewModel:逻辑交互层
MVVW通过ViewModel实现M和V之间的双向通信,提高代码可重用性和可维护性
MVC:是单向通信,如过要改变M需要手动操作DOM

小讯
上一篇 2025-04-19 09:01
下一篇 2025-06-17 07:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/147620.html