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

这篇具有很好参考价值的文章主要介绍了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中子组件,关键代码文章来源地址https://www.toymoban.com/news/detail-812978.html

// 接受的属性值
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')

到了这里,关于vue3中l和vue2中v-model不同点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • N沟道和P沟道MOS管的四个不同点

    作者:快捷芯(功率半导体创新品牌) 1、芯片材质不同 虽然芯片都是硅基,但是掺杂的材质是不同,使得N沟道MOS管是通过电子形成电流沟道;P沟道MOS管是用空穴流作为载流子。具体原理可以参考一些教科书,属于工艺方面的问题。 2、同等参数P 沟道 MOS管价格更高 (1)

    2024年02月08日
    浏览(35)
  • 西门子S7-1200与S7-300PLC的九大不同点

    S7-1200作为新推出的紧凑型控制器,其产品定位在原有的SIMATIC S7-200和S7-300之间,它与S7-300的区别主要体现在硬件、通信、工程、存储器、功能块、计数器、定时器、工艺功能等方面。 一、硬件的区别 在硬件扩展方面,S7-300的主机架多支持八个扩展模块,而S7-1200支持扩展多八

    2024年01月25日
    浏览(47)
  • 关于PostgreSql数据库和mysql的不同点及注意事项

    更新时间戳需要通过触发器来实现。 定义触发器 创建触发器 dapper 判断了connection 是否是npgsql ,如果是,表示支持 数组类型,不展开数组。也就是 in @ids ,在npgsql下不做转化为 in (@p1,@p2…),故 在pgsql 下要用 any(@ids) 例如: upsert是一个组合词,即当往表中插入记录,如果该记录

    2024年02月01日
    浏览(56)
  • AOI与AVI:在视觉检测中的不同点和相似点

    AOI(关注区域)和AVI(视觉感兴趣区域)是视觉检测中常用的两个概念,主要用于识别和分析图像或视频中的特定区域。虽然这两个概念都涉及到注视行为和注意力分配,但它们在定义和实际应用等方面有一些差异。 AOI通常是指图像或视频中用户或观察者的关注区域,主要用

    2024年01月20日
    浏览(39)
  • C++中cin >> str 和 string类的getline(cin, str) 用来读取用户输入的两种不同方式的不同点

    <string>的getline()函数语法如下【https://cplusplus.com/reference/string/string/getline/】: 其中,is是输入流对象;str是目标字符串对象;delim是可选参数,表示定界符(分隔符,默认为换行符\\\'n\\\')。 使用getline()函数时,它会从输入流中读取一行文本,并将读取到的内容存储到目标字符

    2024年02月11日
    浏览(37)
  • 计算机网络-TCP/IP模型及五层参考模型(OSI与TCP/IP相同点 不同点 5层参考模型及数据封装与解封装)

    OSI:先理论,但没有实践 TCP/IP:先实践,再理论 TCP/IP:基于协议栈而分层 网络接口层:数据链路层与物理层 应用层:包含上三层 异构网络互联:实现不同厂家生产的设备进行相互通信 IP协议面向无连接 传输层是端到端,有实现可靠传输的功能,即有面向连接的功能 传输层

    2024年01月23日
    浏览(53)
  • C++中<iostream> 的cin >> str 和<string>的getline(cin, str) 用来读取用户输入的两种不同方式的不同点

    <string>的getline()函数语法如下【https://cplusplus.com/reference/string/string/getline/】: 其中,is是输入流对象;str是目标字符串对象;delim是可选参数,表示定界符(分隔符,默认为换行符\\\'n\\\')。 使用getline()函数时,它会从输入流中读取一行文本,并将读取到的内容存储到目标字符

    2024年02月11日
    浏览(36)
  • PHP 的不同版本(src 版、nts 版和 win 版)之间的区别和共同点。

     在下载php时会有很多版本供我们选择,PHP 的不同版本(src 版、nts 版和 win 版)之间的区别又是什么呢。 src 版本 :src 版本指的是 PHP 的源代码版本,您需要自行编译并安装它。这个版本通常用于自定义编译、开发环境和高度定制化的需求。您可以根据您的需求进行各种配置

    2024年02月13日
    浏览(47)
  • vue2 系列:自定义 v-model

    1. input 中的 v-model 2. 自定义组件 v-model

    2024年02月08日
    浏览(39)
  • 在vue2使用v-model对组件进行双向绑定

    v-model=“visible” 等价于 :value=“visible” 加上 @input=“visible = $event” 所以 v-model 就是父组件向子组件传了个 value 字段的值,子组件使用 props 定义 value 字段, 就可以在子组件使用 value 读取这个值;子组件使用 $emit(‘input’,值) 就可以改变 v-model 的值 父组件 子组件 父组件 子

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包