0

0

vue3中的v-model怎么使用

王林

王林

发布时间:2023-05-10 11:07:32

|

2184人浏览过

|

来源于亿速云

转载

绑定单个属性

基础绑定

以 自定义组件 custominput 举例


 
 

v-model 会被展开为如下的形式

 组件内部需要做两件事:

  • 将内部原生  元素的 value attribute 绑定到 modelValue prop

  • 当原生的 input 事件触发时,触发一个携带了新值的 update:modelValue 自定义事件

    立即学习前端免费学习笔记(深入)”;

这里是相应的代码:



有些人会觉得这种写法过于繁琐,会导致标签代码变得冗长

另一种在组件内实现 v-model 的方式是使用一个可写的,同时具有 getter 和 setter 的 computed 属性

computed 绑定

使用computed 属性时, get 方法需返回 modelValue prop,而 set 方法需触发相应的事件



这种写法可以简化标签中的属性,逻辑清晰

单个属性可以使用 v-model 轻松搞定,如果多个属性都需要双向绑定呢?

v-model 绑定多个属性

默认情况下,v-model 在组件上都是使用 modelValue 作为 prop,并以 update:modelValue 作为对应的事件

但我们可以通过给 v-model 指定一个参数来更改这些名字:

同样的,也可以用两种方式绑定,只是 prop 从原来的 modelValue 变为了传入的参数名,对应的事件也变成了 update:参数名

 

绑定对象

在一个复杂的组件中,如果多个字段需要双向绑定,如果使用上文所示方法的话,会有一些繁琐

介绍两种双向绑定对象的做法

白瓜AI
白瓜AI

白瓜AI,一个免费图文AI创作工具,支持 AI 仿写,图文生成,敏感词检测,图片去水印等等。

下载

定义父组件 searchBar 为一个复杂表单组件



那么在 searchBar 组件内,我们接收 modelValue 并定义类型为 Object



如果传入对象的话,如注释所介绍的那样虽然可以直接进行双向绑定,但是这样会破坏单项数据流

和上文的 emit 触发事件一样,但是传递的数据则变成了对象

虽然使用 emit 可以触发双向绑定,但是过于繁琐,下面介绍一种更优雅的写法,可以说是一种奇技淫巧 -- computed + prxoy

如果使用 computed 绑定,你可能会写出这种代码


 


相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

10

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

15

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

6

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 1.4万人学习

Vue3.x 核心篇--十天技能课堂
Vue3.x 核心篇--十天技能课堂

共30课时 | 1.5万人学习

Vue3.x新特性篇--十天基础课堂
Vue3.x新特性篇--十天基础课堂

共20课时 | 1.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号