vue3 自定义组件 v-model 原理解析

news/2024/10/17 17:26:52/

1. input 中的 v-model

<!-- my-input.vue -->
<!-- props:value值必须用modelValue命名 -->
<!-- emits:方法必须用update:modelValue命名 -->
<script setup>const props = defineProps({modelValue: String,});let emits = defineEmits(["update:modelValue"]);const updateValue = (event) => {emits("update:modelValue", event.target.value);};
</script><template><div><input :value="props.modelValue" @input="updateValue" /><span>子组件:{{ props.modelValue }}</span></div>
</template>
<my-input v-model="value"></my-input>

2. naive-ui 组件二次封装 v-model

<!-- my-input.vue -->
<!-- props:value值必须用modelValue命名 -->
<!-- emits:方法必须用update:modelValue命名 -->
<script setup>
import { NInput } from "naive-ui";
const props = defineProps({modelValue: String,
});let emits = defineEmits(["update:modelValue"]);// 差别在这,直接value就是改变的值
const updateValue = (value) => {emits("update:modelValue", value);
};
</script><template><div><n-input :value="props.modelValue" @input="updateValue"></n-input><span>子组件:{{ props.modelValue }}</span></div>
</template>
<my-input v-model="value"></my-input>


http://www.ppmy.cn/news/1103841.html

相关文章

软件设计模式(三):责任链模式

前言 前面荔枝梳理了有关单例模式、策略模式的相关知识&#xff0c;这篇文章荔枝将沿用之前的写法根据示例demo来体会这种责任链设计模式&#xff0c;希望对有需要的小伙伴有帮助吧哈哈哈哈哈哈~~~ 文章目录 前言 责任链模式 1 简单场景 2 责任链模式理解 3 Java下servl…

c#.NET技术做到ChatGPT流式响应并实现打字机效果 实现ChatGPT的Stream传输

.NET技术做到ChatGPT流式响应并实现打字机效果 ChatGPT是当前备受瞩目的人工智能产品之一&#xff0c;它具备与人类进行智能对话的能力&#xff0c;同时能够理解人类的想法和需求。在内容创作、营销、智能客服、教育、投资等领域和场景中&#xff0c;ChatGPT都展现出了巨大的…

飞行动力学 - 第19节-航向操纵的临界条件 之 基础点摘要

飞行动力学 - 第19节-航向操纵的临界条件 之 基础点摘要 1. 方向舵设计的临界条件2. 不利偏航3. 侧风起飞/着陆4. 不对称推力5. 参考资料 1. 方向舵设计的临界条件 目的&#xff1a;提供足够的操纵权限。 不利偏航 (Adverse yaw)侧风起飞/着陆不对称推力尾旋改出 2. 不利偏航…

SpringMVC之文件上传下载

SpringMVC是一个基于Java的Web框架&#xff0c;它提供了一套用于构建Web应用程序的开发模型。在SpringMVC中&#xff0c;文件上传和下载是常见的功能之一。 SpringMVC文件上传和下载的介绍&#xff1a; 介绍文件上传&#xff1a; 在SpringMVC中&#xff0c;文件上传功能可以通…

平衡二叉搜索树(AVL)——【C++实现插入、删除等操作】

本章完整代码gitee地址&#xff1a;平衡二叉搜索树 文章目录 &#x1f333;0. 前言&#x1f332;1. AVL树概念&#x1f334;2. 实现AVL树&#x1f33f;2.1 结构定义&#x1f33f;2.2 插入&#x1f490;左单旋&#x1f490;右单旋&#x1f490;左右双旋&#x1f490;右左双旋 &a…

hel-micro

我的博客 这篇文章少了图片(本地找不着了),可以在上面的链接中看到 关于 模块联邦sdk化&#xff0c;免构建、热更新、工具链无关的微模块方案 文档 开发并发布到npm 开发远程 vue 组件 ####克隆模板库 克隆远程 vue 组件模板项目为rvc-xxx&#xff08;名字请按实际需要修…

提升网络安全防御能力的几个方面

提升网络安全防御能力对于个人和组织来说都至关重要。网络安全是一个全面的概念&#xff0c;包括保护个人信息、防止恶意攻击和确保网络资源的安全。在这篇文章中&#xff0c;我将介绍几个方面来提高网络安全防御能力其中包括IP地址查询。 首先&#xff0c;IP地址查询是一种网…

mac 13.x 打开第三方应用,提示已损坏无法打开

前排提示&#xff0c;不一定有效 1、先在终端执行下面这个&#xff0c;因为要提权&#xff0c;输入自己的密码 sudo xattr -r -d com.apple.quarantine 具体应用 # 具体应用是一个路径&#xff0c;拖入 访达——应用程序——第三方应用 到终端就行 # sudo xattr -r -d com.app…