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>
相关推荐
Hyyy9 小时前
普通前端续命周报——第1周
前端·javascript
KaMeidebaby9 小时前
卡梅德生物技术快报|抗独特型抗体开发:半抗原检测技术瓶颈拆解,抗独特型抗体开发工程化实践
前端·数据库·人工智能·其他·百度·新浪微博
2501_940041749 小时前
纯前端创意交互:五款全新实用工具与视觉应用生成指南
前端·交互
刀法如飞9 小时前
《道德经》简单解说版-第 2 章:天下皆知美之为美
前端·后端·面试
GISer_Jing11 小时前
Three.JS渲染架构解读
java·javascript·架构
发现一只大呆瓜11 小时前
超全 Vite 性能优化指南:网络、资源、预渲染三维落地方案
前端·面试·vite
IT_陈寒12 小时前
Vue的computed属性怎么突然不更新了?
前端·人工智能·后端
时寒的笔记12 小时前
day13~14核心案例某采招网
开发语言·javascript·ecmascript
智商不够_熬夜来凑12 小时前
【Picker】单选多选
前端·javascript·vue.js