子组件代码
{{msg}}
props 是单向数据流,子组件只能读取,并不能修改 msg 。对象类型可以,但不建议修改。
1.2、父子组件双向绑定
子组件同步一个数据的时候,子组件既要使用,还要修改这个数据,以前需要通过 props Down 和 Events Up 来实现。现为了方便,提供了特殊的语法糖 v-model 。
父组件代码:
{{msg}}
子组件 SetInput.vue 文件代码
v-model = “msg” 可以翻译为:
:value=“msg”
@input=“msg=$events”
所以父组件的代码可以翻译为:
<set-input :value=“msg” @input=“msg=$events” />
在一个组件上,v-model 只能使用一次,如果想要对多个数据同步绑定,则可以使用.sync修饰符。
二、.sync修饰符
.sync 和 v-model 都是语法糖,本质还是父子组件间的通信。使用 .sync 修饰符实现父子组件多个数据双向绑定。
因为 vue2 中组件只能定义一个 v-model,如果父子需要实现多个数据双向绑定,就需要借助 .sync 修饰符。
.sync 使用原理:
//可翻译为
<child-comp
:value=“msg” @input=“msg=$event”
:foo=“foo” @update:foo=“foo=$event” />
/*********** 一个完整的代码示例 *************/
//父组件代码
//子组件代码
三、Vue3.x 使用 v-model
vue2 中的 v-model 和 .sync 功能重叠,容易混淆,因此 vue3 做了统一,一个组件可以多次使用 v-model 。
3.1、vue 3 的v-model使用原理:
//可翻译为
<child-comp :modelValue=“msg” @update:modelValue=“msg=$event” />
单个数据双向绑定完整示例
//父组件代码
子组件代码:
vue3 使用特定的 modelValue ,避免 value 的占用,通过 update:modelValue 实现数据双向绑定。值得注意的是,vue3 移除了 model 选项。
3.2、多个 v-model 使用
在 vue3 一个组件可以使用多个 v-model ,统一了 vue2 的 v-model 和 .sync 修饰符。
使用原理:
//可翻译为
<child-comp
:name=“name” @update:name=“name=$event”
:age=“age” @update:age=“age=$event” />
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
![](https://img-blog.csdnimg.cn/img_convert/a20d53515ec000ac39fb59f089d0c47e.jpeg)
最后
正值金三银四招聘旺季,很多小伙伴都询问我有没有前端方面的面试题,特地整理出来赠送给大家!
VPQzT-1712768183080)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
[外链图片转存中…(img-BWiajd2i-1712768183080)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
![](https://img-blog.csdnimg.cn/img_convert/a20d53515ec000ac39fb59f089d0c47e.jpeg)
最后
正值金三银四招聘旺季,很多小伙伴都询问我有没有前端方面的面试题,特地整理出来赠送给大家!