当前位置: 首页 > news >正文

第三十四:6.4.【v-model】

6.4.【v-model】:双向绑定

  1. 概述:实现 父↔子 之间相互通信。

  2. 前序知识 —— v-model的本质

    <!-- 使用v-model指令 -->
    <input type="text" v-model="userName">
    ​
    <!-- v-model的本质是下面这行代码 -->
    <input type="text" :value="userName" @input="userName =(<HTMLInputElement>$event.target).value"
    >
  3. 组件标签上的v-model的本质::moldeValueupdate:modelValue事件。

    <!-- 组件标签上使用v-model指令 -->
    <AtguiguInput v-model="userName"/>
    ​
    <!-- 组件标签上v-model的本质 -->
    <AtguiguInput :modelValue="userName" @update:model-value="userName = $event"/>

    AtguiguInput组件中:

    <template><div class="box"><!--将接收的value值赋给input元素的value属性,目的是:为了呈现数据 --><!--给input元素绑定原生input事件,触发input事件时,进而触发update:model-value事件--><input type="text" :value="modelValue" @input="emit('update:model-value',$event.target.value)"></div>
    </template>
    ​
    <script setup lang="ts" name="AtguiguInput">// 接收propsdefineProps(['modelValue'])// 声明事件const emit = defineEmits(['update:model-value'])
    </script>
  4. 也可以更换value,例如改成abc

    <!-- 也可以更换value,例如改成abc-->
    <AtguiguInput v-model:abc="userName"/>
    ​
    <!-- 上面代码的本质如下 -->
    <AtguiguInput :abc="userName" @update:abc="userName = $event"/>

    AtguiguInput组件中:

    <template><div class="box"><input type="text" :value="abc" @input="emit('update:abc',$event.target.value)"></div>
    </template>
    ​
    <script setup lang="ts" name="AtguiguInput">// 接收propsdefineProps(['abc'])// 声明事件const emit = defineEmits(['update:abc'])
    </script>
  5. 如果value可以更换,那么就可以在组件标签上多次使用v-model

    <AtguiguInput v-model:abc="userName" v-model:xyz="password"/>

http://www.lryc.cn/news/545219.html

相关文章:

  • React底层常见的设计模式
  • 从零基础到通过考试
  • UniApp 按钮组件 open-type 属性详解:功能、场景与平台差异
  • 【无标题】ABP更换MySql数据库
  • 大模型微调入门(Transformers + Pytorch)
  • 【开源免费】基于SpringBoot+Vue.JS网络海鲜市场系统(JAVA毕业设计)
  • 在线会议时, 笔记本电脑的麦克风收音效果差是为什么
  • 理解文件系统
  • 第二十四:5.2【搭建 pinia 环境】axios 异步调用数据
  • Vue2+Element实现Excel文件上传下载预览【超详细图解】
  • C# 装箱(Boxing)与拆箱(Unboxing)
  • 【AD】3-10 原理图PDF导出
  • SQL命令详解之增删改数据
  • Docker 部署 MinIO 对象存储服务
  • IP段转CIDR:原理Java实现
  • 翻译: 深入分析LLMs like ChatGPT 一
  • springboot之HTML与图片生成
  • 数据结构(初阶)(三)----单链表
  • ChatGPT与DeepSeek:AI语言模型的巅峰对决
  • DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能
  • 人工智能之数学基础:线性代数中矩阵的运算
  • (上)基于机器学习的图像识别——遥感图像分类(LeNet-5;AlexNet;VGGNet;GoogLeNet;ResNet)
  • 数据集笔记:NUSMods API
  • HTML元素,标签到底指的哪块部分?单双标签何时使用?
  • 基于ai技术的视频生成工具
  • 【Java 后端】Restful API 接口
  • Matlab地图绘制教程第2期—水陆填充图
  • 企业知识库搭建:14款开源与免费系统选择
  • 【Linux系统】—— 冯诺依曼体系结构与操作系统初理解
  • Android内存优化指南:从数据结构到5R法则的全面策略