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>
相关推荐
懒羊羊不懒@2 分钟前
Web前端开发HTML
前端
水淹萌龙5 分钟前
Iconify 的离线加载
开发语言·前端·javascript
GDAL9 分钟前
Electron 快速入门教程
前端·javascript·electron
外派叙利亚12 分钟前
uniapp canvas 自定义仪表盘 可滑动 可点击 中间区域支持自定义
前端·javascript·uni-app·html
比特森林探险记22 分钟前
React基础:语法、组件与JSX
前端·javascript·react.js
宁雨桥42 分钟前
Vue项目中iframe嵌入页面实现免登录的完整指南
前端·javascript·vue.js
css趣多多42 分钟前
Elment UI 布局组件
javascript
无法长大1 小时前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk
LongJ_Sir1 小时前
Cesium--可拖拽气泡弹窗(对话框尾巴,Vue3版)
前端·javascript·vue.js
im_AMBER1 小时前
消失的最后一秒:SSE 流式联调中的“时序竞争”
前端·笔记·学习·http·sse