当前位置: 首页 > news >正文

vue3中l和vue2中v-model不同点

vue2比较让人诟病的一点就是提供了两种双向绑定:v-model和.sync,
在vue3中,去掉了.sync修饰符,只需要使用v-model进行双向绑定即可。

为了让v-model更好的针对多个属性进行双向绑定(vue2中自定义组件中v-model只能使用一次),vue3做出了以下修改:

1、当对自定义组件使用v-model指令时,绑定的属性名由原来的value变为modelValue,事件名由原来的input变为update:modelValue:

<!-- vue2 -->
<ChildComponent :value="pageTitle" @input="pageTitle = $event" />
<!-- 简写为 -->
<ChildComponent v-model="pageTitle" /><!-- vue3 -->
<ChildComponent:modelValue="pageTitle"@update:modelValue="pageTitle = $event"
/>
<!-- 简写为 -->
<ChildComponent v-model="pageTitle" />

vue3中子组件,关键代码

// 接受的属性值
let props = defineProps({modelValue:{type:String,default:'',}
});// 触发方法emits('update:modelValue','newValue')

去掉了.sync修饰符,它原本的功能由v-model的参数替代:

<!-- vue2 -->
<ChildComponent :title="pageTitle" @update:title="pageTitle = $event" />
<!-- 简写为 -->
<ChildComponent :title.sync="pageTitle" /><!-- vue3 -->
<ChildComponent :title="pageTitle" @update:title="pageTitle = $event" />
<!-- 简写为 --><ChildComponent v-model:title="pageTitle" />

不要蒙圈,相当于在vue3中,v-model不加参数的情况就相当于给子组件传递了modelValue这个属性,除了这个属性外其余的都要加参数。

vue3中子组件,关键代码

// 接受的属性值
let props = defineProps({title:{type:String,default:'',}
});
// 触发方法使用'update:参数'emits('update:title','newValue')
http://www.lryc.cn/news/284327.html

相关文章:

  • 使用 Swift 代码优化项目编译速度
  • 基于springboot+vue的社区团购系统(前后端分离)
  • three.js从入门到精通系列教程002 - three.js正交相机OrthographicCamera
  • Golang 搭建 WebSocket 应用(七) - 性能、可用性
  • Qt 状态机框架:The State Machine Framework (一)
  • 高通平台学习一
  • Python爬虫时被封IP,该怎么解决?四大动态IP平台测评
  • 积分梳状滤波器CIC原理与实现
  • 【项目管理】CMMI-原因分析与解决过程(CAR)
  • 【设计模式】文件目录管理是组合模式吗?
  • 利用appium自动控制移动设备并提取数据
  • day22_236二叉树最近公共祖先_235二叉搜索树(最近公共祖先_701插入一个节点_450删除一个节点)
  • OpenSource - 工具管理器easy-manager-tool
  • Laravel7 + easyWeChat 实现微信公众号支付功能
  • Linux环境下,针对QT软件工程搭建C++Test单元测试环境的操作指南
  • 16k+ start 一个开源的的监控系统部署教程
  • Mermaid使用教程(绘制各种图)
  • OpenAI/ChatGPT Plus 支持的虚拟卡有哪些
  • ARM多核调度器DSU
  • vue解决部署文件缓存方式
  • 游戏开发中的噪声算法
  • CodeReview 小工具
  • UE5 C++ Slate独立程序的打包方法
  • 探索设计模式的魅力:一篇文章让你彻底搞懂建造者模式
  • Facebook广告投放指南,如何运营多个Facebook广告账户不被封?
  • 音乐人声分离工具:极简的人声和背景音乐分离工具
  • Go语言基础快速上手
  • Excel 根据日期按月汇总公式
  • 使用 crypto-js 进行 AES 加解密操作
  • Vue-30、Vue非单文件组件。