vue2和vue3各个版本项目结构和启动
vue2版本项目:uniapp微信小程序启动需要下载hbuilder和微信小程序工具。导入ruoyi-uniapp-master项目即可启动项目。ruoyi-ui是vue2版本前端代码,其他项目是后台代码。mysql数据库联系我们获取最新数据库。
vue3版本项目:ruoyi-ui-vue3是前端代码,大家导入就可以启动了。
以上是帮助小伙伴解决问题记录,大家遇到类似问题可以直接参考。希望相互理解、相互包容、共同努力服务客户。
Vue 2 和 Vue 3的区别
1.双向数据绑定原理不同
Vue2 的双向数据绑定是利用ES5的一个APIObject.definePropert() 对数据进行劫持,结合发布订阅模式的方式来实现的。
Vue3 中使用ES6的Proxy API对数据代理。
Vue3 使用数据代理的优势有以下几点:1)definePropert 只能监听某个属性,不能对整个对象进行监听 2)可以省去for in,闭包等内容来提升效率(直接绑定整个对象即可)3)可以监听数组,不用再单独的对数组做特异性操作,Vue3可以检测到数组内部数据的变化
2.是否支持碎片
Vue2 不支持碎片。Vue3 支持碎片,就是说可以拥有多个根节点
3.API 类型不同
Vue2 使用选项类型api,选项型api 在代码里分割了不同的属性:data,computed,method等。
Vue3 使用合成型api,新的合成型api 能让我们使用方法来分割,相比于旧的api 使用属性来分组,这样代码会更加简便和整洁。
4定义数据变量和方法不同
Vue2是把数据放到了data 中,在 Vue2中 定义数据变量是data(){},创建的方法要在method:{}
Vue3 就需要使用一个新的setup()方法,此方法在组件初始化构造的时候触发。使用以下三个步骤来建立反应性数据:1)从vue 引入 reactive;2)使用 reactive ()方法来声明数据为响应性数据;3) 使用setup()方法来返回我们的响应性数据,从而template 可以获取这些响应性数据。