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

Vue的指令v-model的原理

v-model的原理

原理:v-model本质上是一个语法糖。例如应用在输入框上,就是value属性和input事件的合写。

作用:提供数据的双向绑定

  1. 数据变,视图跟着变 :value
  2. 视图变,数据跟这变 @input

注意:$event用于在模板中获取事件的形参。

<template><div id="app"><input v-model="msg" type="text"><input :value="msg" @input="msg = $event.target.value" type="text" name="" id=""></div>
</template>

表单类组件封装 & v-model简化代码

  1. 表单类组件封装

    1. 父传子:数据应该是父组件props传递过来的,v-model拆解绑定数据
    2. 子传父:监听输入,子传父传值给父组件修改

    父组件(使用):

    <BaseSelect :cityId="selectId" @事件名="selectId = $event"></BaseSelect>
    

    子组件(封装):

    <select :value="cityId" @chang="handleChange">...</select>
    
    props: {cityId: String
    },
    
    methods: {handleChange (e) {this.$emit('事件名', e.target.value)}
    }
    
  2. 父组件v-model简化代码,实现子组件和父组件数据双向绑定。

    1. 子组件中:props通过value接收,事件触发input
    2. 父组件中:v-model给组件直接解绑数据(:value+@input

    父组件(使用):

    <BaseSelect v-model="selectId"></BaseSelect>
    

    子组件(封装):

    <select :value="cityId" @chang="handleChange">...</select>
    
    props: {value: String
    },
    methods: {handleChange (e) {this.$emit('input', e.target.value)}
    }
    

http://www.mrgr.cn/news/33664.html

相关文章:

  • 反序列化- Jackson...
  • ComfyUI三个超实用插件,一定不要错过!
  • JavaEE: 创造无限连接——网络编程中的套接字
  • Python中的null是什么?
  • 梧桐数据库(WuTongDB):向量化查询优化器的技术细节介绍
  • 一行代码实现快速排序
  • OJ在线评测系统 后端开发数据库初始化工作 开发库表 建立数据库索引 Mybatis映射初始化接口开发
  • golang学习笔记2-语法要求,注释与代码风格
  • pycharm加载虚拟环境及运行代码
  • 【VUE3.0】动手做一套像素风的前端UI组件库---Radio
  • 模拟电路工程师面试题
  • Android——Application
  • awd初试
  • 车辆重识别(CVPR2016图像识别的深度残差学习ResNet)论文阅读2024/9/21
  • python异常处理知识简记
  • 1542. 找出最长的超赞子字符串
  • Snap 发布新一代 AR 眼镜,有什么特别之处?
  • PCB设计中百兆以太网是否需要差分布线?
  • 皮科医生对网红药膏的说明
  • 7. 无线网络安全