vue2与vue3的区别

一、父传参子中 v-model:id 等价于 :id.sync

javascript 复制代码
<moduleBox v-model:id="id"></modeuleBox>
<moduleBox :id.sync="id"></modeuleBox> (vue3不推荐)
<moduleBox :id="id"></modeuleBox> (vue2 vue3 通用)
//只是写法不同,都可以通过 emit('update:text', newValue)来更新父组件的值

二、为什么vue3不用this了

vue2

vue2的this,是一个实例,当代码执行到main.js的new Vue().$mount('#app')的时候,便开始创建this实例挂在到#app上,这个实例里面有:

1.你的选项如data,methods,computed,watch,props,components,生命周期函数等

2.内置方法如emit、on、off、ref等

通过export default导出所以你的选项,然后main.js的new Vue()会把你导出的选项挂载到this上,所以使用的时候都用this

vue3(要区分是否加了setup)

<script> 没有setup

不加setup,与vue2一样,通过this访问

javascript 复制代码
<script>
export default {
  data() { return { count: 0 } },
  methods: { add() { this.count++ } },
  mounted() { console.log(this.count) }
}
<sctipt>
<script setup> 有setup

加了setup,没有this,方法按功能引用

javascript 复制代码
<script setup>
import {defineEmits,ref,onMounted} from "vue"
const count = ref(0)
const add = () => count.value++
onMounted(() => console.log(count.value))
</script>
相关推荐
ywf12151 小时前
前端的dist包放到后端springboot项目下一起打包
前端·spring boot·后端
恋猫de小郭1 小时前
2026,Android Compose 终于支持 Hot Reload 了,但是收费
android·前端·flutter
hpoenixf7 小时前
2026 年前端面试问什么
前端·面试
还是大剑师兰特7 小时前
Vue3 中的 defineExpose 完全指南
前端·javascript·vue.js
泯泷8 小时前
阶段一:从 0 看懂 JSVMP 架构,先在脑子里搭出一台最小 JSVM
前端·javascript·架构
mengchanmian8 小时前
前端node常用配置
前端
华洛9 小时前
利好打工人,openclaw不是企业提效工具,而是个人助理
前端·javascript·产品经理
xkxnq9 小时前
第六阶段:Vue生态高级整合与优化(第93天)Element Plus进阶:自定义主题(变量覆盖)+ 全局配置与组件按需加载优化
前端·javascript·vue.js
A黄俊辉A10 小时前
vue css中 :global的使用
前端·javascript·vue.js
小码哥_常10 小时前
被EdgeToEdge适配折磨疯了,谁懂!
前端