父组件:

<script setup>
import InputBox from "@/compon/InputBox.vue";
import {ref} from "vue"; const count = ref(100)
</script> <template>
<div>
我是父组件, {{ count }}
<InputBox v-model="count"></InputBox>
<!-- 在vue3的子父组件中使用v-model相当于下面这行代码 -->
<!--<InputBox :modelValue="count" @update:modelValue="count=$event"></InputBox>--> <!-- vue2就相当于这行代码:-->
<!-- <InputBox :value="count" @input="count=$event"></InputBox> -->
<!-- vue2就有时候你并不想传递给子组件的props叫value,此时会用.sync修饰符:-->
<!-- <InputBox :myvalue.sync="count"></InputBox> -->
<!-- .sync就相当于下面这行代码,等同于简化了代码的编写。 -->
<!-- <InputBox :myvalue="count" @update:myvalue="count=$event"></InputBox> --> <!-- 然后对比一看。。。其实vue3中的v-model就是和.sync是一个球样... -->
</div>
</template>

封装一个InputBox子组件,用于数据的加减

<script setup>
// 1. 和vue2一样,先通过props接收数据
const props = defineProps(['modelValue']);
// 2. 和vue2一样,也是要使用emit来触发父组件的事件
const emits = defineEmits(['update:modelValue']);
const ChangeNum = (num) => {
emits('update:modelValue', props.modelValue+num)
}
</script> <template>
<div class="son">
<button @click="ChangeNum(1)">-</button>
<input style="width: 50px;" type="text" :value="modelValue">
<button @click="ChangeNum(-1)">+</button>
</div>
</template> <style scoped>
.son {
border: 1px solid red;
padding: 30px;
width: 300px;
}
</style>

思考:

觉得每次在子组件中定义emit和props很麻烦?vue3.3添加了一个实验性特新defineModel,详细见下一篇笔记。

vue3在父子组件使用v-model双向绑定的更多相关文章

  1. (复习)父子组件传值使用v-modal双向绑定,报错Avoid mutating a prop directly解决方案

    报错:Avoid mutating a prop directly since the value will be overwritten whenever the parent component. ...

  2. react第十一单元(受控组件和非受控组件-实现类似于vue双向绑定的功能)

    第十一单元(受控组件和非受控组件-实现类似于vue双向绑定的功能) #课程目标 理解因为react的单向数据流 理解表单组件会因为react数据流变的不好维护 理解受控组件与非受控组件的实质区别 理解 ...

  3. vue 实现父组件和子组件之间的数据双向绑定

    前言:vue 实现父组件给子组件传值,然后子组件可以修改回父组件的值.vue 的 prop 默认是单向数据绑定,但是偶尔需要双向绑定,这时就需要知道如何才能让子组件的数据修改时影响到父组件的数据.转载 ...

  4. vue model双向绑定

    view <div id='demo' class="container"> <input type="text" v-model='name ...

  5. angularjs1.x版本,父子组件之间的双向绑定

    今天遇到了一个angularjs的坑, ng-repeat和ng-if会改变他所包含的html中绑定变量的作用域. angularjs自定义指令,可以定义四种变量,通过 =,@,&双向绑定,单 ...

  6. Vue基础:子组件抽取与父子组件通信

    在工作中承担一部分前端工作,主要使用Vue + Element UI. 随着版本迭代,需求增加,页面往往变得更加臃肿,不易维护.学习子组件的封装和抽取,能更好适应需求. 为什么需要子组件 可复用 将重 ...

  7. 如何在Vue2中实现组件props双向绑定

    Vue学习笔记-3 前言 Vue 2.x相比较Vue 1.x而言,升级变化除了实现了Virtual-Dom以外,给使用者最大不适就是移除的组件的props的双向绑定功能. 以往在Vue1.x中利用pr ...

  8. Blazor和Vue对比学习(基础1.5):双向绑定

    这章我们来学习,现代前端框架中最精彩的一部分,双向绑定.除了掌握原生HTML标签的双向绑定使用,我们还要在一个自定义的组件上,手撸实现双向绑定.双向绑定,是前两章知识点的一个综合运用(父传子.子传父) ...

  9. vue 自定义组件 v-model双向绑定、 父子组件同步通信

    父子组件通信,都是单项的,很多时候需要双向通信.方法如下: 1.父组件使用:msg.sync="aa"  子组件使用$emit('update:msg', 'msg改变后的值xxx ...

  10. vue 自定义组件 v-model双向绑定、 父子组件同步通信【转】

    父子组件通信,都是单项的,很多时候需要双向通信.方法如下: 1.父组件使用:msg.sync="aa"  子组件使用$emit('update:msg', 'msg改变后的值xxx ...

随机推荐

  1. 使用 OpenTelemetry 构建 .NET 应用可观测性(2):OpenTelemetry 项目简介

    前世今生 OpenTracing OpenTracing 项目启动于 2016 年,旨在提供一套分布式追踪标准,以便开发人员可以更轻松地实现分布式追踪. OpenTracing 定义了一套 Traci ...

  2. Elasticsearch之索引简单应用

    本篇所有操作都在 Kibana 上执行 创建第一个索引 PUT product { // 索引设置 "settings": { // 分片数量 "number_of_sh ...

  3. HTML一键打包APK工具最新版1.9.1更新(附下载地址)

    HMTL网址打包APK,可以把本地HTML项目, Egret游戏,网页游戏,或者网站打包为一个安卓应用APK文件,无需编写任何代码,也无需配置安卓开发环境,支持在最新的安卓设备上安装运行. HTML一 ...

  4. 4399 Flash游戏专用浏览器, 无需安装Flash插件

    目前所有的主流浏览器都已经不再支持Flash了,即使有一些国内浏览器还支持flash,但只能安装国内特供版Flash Player. 但问题的关键在于,这个国内特供版跟 Adobe 海外发行的版本是两 ...

  5. KRPANO资源分析工具下载四方环视全景图

    提示:目前分析工具中的全景图下载功能将被极速全景图下载大师替代,相比分析工具,极速全景图下载大师支持更多的网站(包括各类KRPano全景网站,和百度街景) 详细可以查看如下的链接: 极速全景图下载大师 ...

  6. 20个最佳实践提升Terraform工作流程|Part 1

    Terraform 是管理基础设施及代码(IaC)最常用的工具之一,它能使我们安全且可预测地对基础设施应用更改.刚开始上手 Terraform 可能会感觉有些不容易,但很快就能对该工具有基本的了解,随 ...

  7. SpringCloud-ZipKin搭建保姆级教程

    服务链路追踪 一.服务追踪说明 微服务架构是通过业务来划分服务的,使⽤REST调⽤.对外暴露的⼀个接⼝,可能需要 很多个服务协同才能完成这个接⼝功能,如果链路上任何⼀个服务出现问题或者⽹络超 时,都会 ...

  8. 其它——Redis与Mysql双写一致性方案解析

    文章目录 一 前言 二 一致性方案 三 先更新数据库,再更新缓存 四 先删缓存,再更新数据库 五 先更新数据库,再删缓存 一 前言 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用.在读取 ...

  9. ios ipa apple company 开发者账号申请分享攻略

    ios公司开发者账号申请分享攻略 好不容易终于申请下来了ios 公司开发者账号,真是一路艰辛和漫长啊,特别是对于远在大洋彼岸的大中华国家.以下我就分享一下这一路下来的经验,希望对于那些新手同仁们有所帮 ...

  10. 14.9 Socket 高效文件传输

    网络上的文件传输功能也是很有必要实现一下的,网络传输文件的过程通常分为客户端和服务器端两部分.客户端可以选择上传或下载文件,将文件分块并逐块发送到服务器,或者从服务器分块地接收文件.服务器端接收来自客 ...