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>
相关推荐
IT_陈寒3 小时前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
Pedantic4 小时前
SwiftUI 手势笔记
前端·后端
橙子家4 小时前
浏览器缓存之【结构化数据库与缓存】: IndexedDB、Cache storage 和 Storage buckets
前端
user20585561518134 小时前
X6 中边悬浮置顶,规避 `mouseleave` 事件丢失问题
前端
李明卫杭州4 小时前
CSS aspect-ratio 属性完全指南
前端
Pedantic6 小时前
SwiftUI 手势层级(Gesture Hierarchy)详解
前端
飘尘6 小时前
前端转型全栈(Java后端)的快速上手指引
前端·后端·全栈
一颗烂土豆7 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
浏览器工程师8 小时前
AI Agent 接浏览器任务,先别让它一路点到底
前端·后端