【Vue3】v-model

v-model 基本用法

prop: modelValue
事件:update:modelValue

<!-- App.vue --><template><div><h1>我是父组件</h1><div>isShow: {{ isShow }}</div><div><button @click="isShow = !isShow">开关</button></div><br><BVue v-model="isShow"></BVue></div>
</template><script setup lang="ts">
import { ref,reactive, isShallow } from "vue";
import BVue from "./components/B.vue";
const isShow = ref<boolean>(true);
</script><style scoped></style>
<!-- B.vue --><template><div v-if="modelValue" class="wrap"><div>modelValue:{{ modelValue }}</div><h1>我是B子组件</h1><button @click="close">关闭</button><br>内容:<input type="text"></div>
</template><script setup lang="ts">defineProps<{modelValue: boolean
}>()
const emit = defineEmits(['update:modelValue'])
const close = ()=> {emit('update:modelValue', false)
}
</script><style scoped>
.wrap {width: 300px;height: 200px;border: 10px solid #ccc;
}
</style>

在这里插入图片描述

在这里插入图片描述

多个 v-model

<!-- App.vue -->
<template><div><h1>我是父组件</h1><div>isShow: {{ isShow }}</div><div>text: {{ text }}</div><div><button @click="isShow = !isShow">开关</button></div><br><BVue v-model:textVal="text" v-model="isShow"></BVue></div>
</template><script setup lang="ts">
import { ref,reactive, isShallow } from "vue";
import BVue from "./components/B.vue";
const isShow = ref<boolean>(true);
const text = ref<string>("hello");
</script><style scoped></style>
<!-- B.vue -->
<template><div v-if="modelValue" class="wrap"><div>modelValue:{{ modelValue }}</div><h1>我是B子组件</h1><button @click="close">关闭</button><br>text内容:<input @input="change" :value="textVal" type="text"></div>
</template><script setup lang="ts">defineProps<{modelValue: boolean,textVal: string
}>()
const emit = defineEmits(['update:modelValue','update:textVal'])
const close = ()=> {emit('update:modelValue', false)
}
const change = (e:Event)=> {// target 自行推断出为 EventTarget 类型,但此类型不能读取 value 属性,因此需要断言为 HTMLInputElement// 比如 element-plus 也是这么封装的const target = e.target as HTMLInputElementemit('update:textVal', target.value)
}
</script><style scoped>
.wrap {width: 300px;height: 200px;border: 10px solid #ccc;
}
</style>

在这里插入图片描述

自定义修饰符 Modifiers

<!-- App.vue -->
<template><div><h1>我是父组件</h1><div>isShow: {{ isShow }}</div><div>text: {{ text }}</div><div><button @click="isShow = !isShow">开关</button></div><br><BVue v-model:textVal.isBT="text" v-model="isShow"></BVue></div>
</template><script setup lang="ts">
import { ref,reactive, isShallow } from "vue";
import BVue from "./components/B.vue";
const isShow = ref<boolean>(true);
const text = ref<string>("hello");
</script><style scoped></style>
<!-- B.vue -->
<template><div v-if="modelValue" class="wrap"><div>modelValue:{{ modelValue }}</div><h1>我是B子组件</h1><button @click="close">关闭</button><br>text内容:<input @input="change" :value="textVal" type="text"></div>
</template><script setup lang="ts">const props = defineProps<{modelValue: boolean,textVal: string,textValModifiers?: {isBT: boolean}
}>()
const emit = defineEmits(['update:modelValue','update:textVal'])
const close = ()=> {emit('update:modelValue', false)
}
const change = (e:Event)=> {// target 自行推断出为 EventTarget 类型,但此类型不能读取 value 属性,因此需要断言为 HTMLInputElement// 比如 element-plus 也是这么封装的const target = e.target as HTMLInputElementemit('update:textVal', props?.textValModifiers?.isBT ?  target.value + '备胎' : target.value)
}
</script><style scoped>
.wrap {width: 300px;height: 200px;border: 10px solid #ccc;
}
</style>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nodejs+vue大学食堂订餐系统elementui

可以查看会员信息&#xff0c;录入新的会员信息&#xff0c;对会员的信息进行管理。 网站管理模块对整个网站中的信息进行管理&#xff0c;可以查看会员留在留言栏中的信息&#xff0c;设置网站中的参数等。用户管理模块主要实现用户添加、用户修改、用户删除等功能。 近年来&…

Oracle实现主键字段自增

Oracle实现主键自增有4种方式&#xff1a; Identity Columns新特性自增&#xff08;Oracle版本≥12c&#xff09;创建自增序列&#xff0c;创建表时&#xff0c;给主键字段默认使用自增序列创建自增序列&#xff0c;使用触发器使主键自增创建自增序列&#xff0c;插入语句&…

MySQL MHA 高可用

目录 1 MySQL MHA 1.1 什么是 MHA 1.2 MHA 的组成 1.3 MHA 的特点 2 搭建 MySQL MHA 2.1 Master、Slave1、Slave2 节点上安装 mysql5.7 2.2 修改 Master、Slave1、Slave2 节点的主机名 2.3 修改 Master、Slave1、Slave2 节点的 Mysql主配置文件/etc/my.cnf 2.4 在 Mast…

图像采集卡在应用程序的重要性概述

达到最大吞吐量是工业和工厂自动化的关键标准之一。提高传感器分辨率和帧速率有助于实现目标&#xff0c;但会限制带宽&#xff0c;并带来新的传输问题。图像采集卡是将相机连接到PC的最方便、最可靠的方式&#xff0c;在工业环境中使用图像采集卡为高速应用带来了特定的好处&a…

[C++ 网络协议] 异步通知I/O模型

1.什么是异步通知I/O模型 如图是同步I/O函数的调用时间流&#xff1a; 如图是异步I/O函数的调用时间流&#xff1a; 可以看出&#xff0c;同异步的差别主要是在时间流上的不一致。select属于同步I/O模型。epoll不确定是不是属于异步I/O模型&#xff0c;这个在概念上有些混乱&a…

【深度学习】【Opencv】Python/C++调用onnx模型【基础】

【深度学习】【Opencv】python/C调用onnx模型【基础】 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【Opencv】python/C调用onnx模型【基础】前言Python版本OpenCVWindows平台安装OpenCVopencv调用onnx模型 C版本OpenCVWindows平…

spring bean实例化过程及顺序

spring bean的初始化从doCreateBean方法开始&#xff0c;依次会调用下面三个方法执行bean的初始化。大部分方法都在AbstractAutowireCapableBeanFactory类中。 实例化 createBeanInstance()方法根据BeanDef获取bean对应的class通过反射调用构造函数进行bean的实例化。 这里会…

视频汇聚平台EasyCVR从一分屏切换到四分屏后加载记录显示黑屏该如何解决?

视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等&#xff0c;视频智能分析平台EasyCVR融合性强、开放度…

基于STM32+华为云IOT设计的智能门禁系统

一、项目介绍 智能门禁系统是一种应用物联网技术的智能化安防系统&#xff0c;提供安全高效的门禁管理和远程监控功能。传统的门禁系统通常使用磁卡、密码或钥匙等方式进行开锁&#xff0c;但存在易丢失、易复制、操作繁琐等问题。为了解决这些问题&#xff0c;并提高门禁安全…

Spring学习笔记13 Spring对事务的支持

Spring学习笔记12 面向切面编程AOP-CSDN博客 什么是事务:在一个业务流程当中,通常需要多条DML(insert delete update)语句共同联合才能完成,这多条DML语句必须同时成功,或者同时失败,这样才能保证数据的安全. 多条DML要么同时成功,要么同时失败,叫做事务(Transaction) 事务四…

ARM IIC总线实现温湿传感器

IIC.h #ifndef __IIC_H__ #define __IIC_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h"/* 通过程序模拟实现I2C总线的时序和协议* GPIOF ---> AHB4* I2C1_SCL ---> PF14* I2C1_SDA ---> PF15** */#define SET_SDA_OUT do{G…

机器人过程自动化(RPA)入门 3. 顺序、流程图和控制流程

到目前为止&#xff0c;我们已经了解了RPA是什么&#xff0c;并且我们已经看到了通过记录任务的活动并运行它来训练UiPath机器人是多么简单。使用记录器的UiPath可以很容易地自动化日常任务。在我们开始自动化复杂的任务之前&#xff0c;让我们学习如何控制从一个到另一个的活动…

Linux命令之chattr命令

一、chattr命令简介 chattr命令用于更改文件或目录的属性&#xff0c;包括不可修改属性、同步属性、追加属性、无尽属性、压缩属性、无尽属性、不可删除属性等。chattr命令只能由超级用户或文件的所有者使用。 二、chattr命令使用示例 1、给文件设置版本 -v参数设置版本信息只…

12KM02E-V0002 3EGM030300R0002 模块化和加固的边缘计算加速

12KM02E-V0002 3EGM030300R0002 模块化和加固的边缘计算加速 随着边缘人工智能解决方案的兴起&#xff0c;对实时洞察和自主决策的需求显著增长。这也带来了对变革性技术的高度需求&#xff0c;这些技术可以在坚固的边缘支持和提供最佳性能。为了应对技术革命&#xff0c;Prem…

linux使用操作[3]

文章目录 版权声明环境变量$符号自行设置环境变量 上传、下载rz、sz命令 压缩、解压tar命令压缩tar解压zip 命令压缩文件unzip 命令解压文件 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明&#xff0c;所有版权属于黑马程序员或相关权利人…

了解MES:提升制造业的效率与竞争力

今天我将和大家分享关于MES&#xff08;Manufacturing Execution System&#xff0c;制造执行系统&#xff09;的知识。随着制造业的发展和变革&#xff0c;MES作为一个关键的信息技术工具&#xff0c;已经成为许多企业提升效率和竞争力的重要策略之一。 MES的定义与作用 MES是…

Redis集群架构搭建——主从、哨兵、集群

上一篇文章Ubuntu上通过源码方式安装Redis已经介绍了如何安装redis&#xff0c;在这篇文章中&#xff0c;将会教大家搭建Redis的几种高可用的架构&#xff1a;主从架构、哨兵集群、Cluster集群。 本篇文章使用的redis版本为6.2.13&#xff0c;不同版本的配置可能有略微的区别&a…

HTTP代理SSL连接:保障网络安全的重要协议

HTTP代理SSL连接是一种网络安全协议&#xff0c;它结合了HTTP代理和SSL/TLS协议&#xff0c;用于在客户端和服务器之间建立加密通信通道。HTTP代理SSL连接可以保护数据在传输过程中不被窃听、篡改或伪造&#xff0c;从而确保数据的完整性、保密性和可靠性。在本文中&#xff0c…

目前很火的养猫微信小程序源码带流量主+搭建教程

目前很火的养猫微信小程序源码带流量主搭建教程。 搭建教程 进入小程序我们下载开发者工具 开发者工具安装好了 我们就把前端源码导入进开发者工具中 这里的APPID我们填写自己的小程序APPID 修改siteinfo.js里的uniacid和acid 这两个ID在刚才后端添加的小程序那里看 在把…

新版WordPress系统文章自动采集插件/Auto Post pro完美运行版/多线程采集(wp自动采集)

源码介绍&#xff1a; 最新版WordPress系统文章自动采集插件&#xff0c;它是一款帮助用户提供方便快捷的文章自动采集方案的插件。WordPress自动采集插件&#xff0c;让内容采集变得高效便捷。作为Auto Post pro完美运行版&#xff0c;这里分享的是WordPress文章采集插件Auto…