当前位置: 首页 > 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)}
    }
    

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python中的null是什么?
  • MySQL 及 SQL 注入
  • 全国及分(31个)省全社会就业人数(1978-2022年)
  • 重学设计模式,【结构型】装饰器模式
  • Springboot小区物业服务平台—计算机毕业设计源码35514
  • 第十五章:使用html、css、js编程制作一个网页版的下雪场景动画
  • 模拟电路工程师面试题
  • Writeset
  • vue选项式写法项目案例(购物车)
  • 操作系统week3
  • vue源码分析(九)—— 合并配置
  • 打印机问题故障处理_十大打印机故障大全及处理方法
  • 大模型各版本Base, Chat, Instruction 之间的区别
  • Leetcode 3298. Count Substrings That Can Be Rearranged to Contain a String II
  • Pandas Series 概述与使用指南
  • __proto__ 和 prototype的关系
  • Druid 在有赞的实践
  • IOS评论框不贴底(ios12新bug)
  • JavaScript 奇技淫巧
  • javascript 总结(常用工具类的封装)
  • js
  • leetcode46 Permutation 排列组合
  • mac修复ab及siege安装
  • PHP 7 修改了什么呢 -- 2
  • Python打包系统简单入门
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Python学习之路13-记分
  • 京东美团研发面经
  • 离散点最小(凸)包围边界查找
  • 理清楚Vue的结构
  • 使用docker-compose进行多节点部署
  • 消息队列系列二(IOT中消息队列的应用)
  • 学习Vue.js的五个小例子
  • 一份游戏开发学习路线
  • 中文输入法与React文本输入框的问题与解决方案
  • mysql面试题分组并合并列
  • NLPIR智能语义技术让大数据挖掘更简单
  • ​如何防止网络攻击?
  • #include<初见C语言之指针(5)>
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (~_~)
  • (14)Hive调优——合并小文件
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (3)llvm ir转换过程
  • (C语言)球球大作战
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (办公)springboot配置aop处理请求.
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (篇九)MySQL常用内置函数
  • (万字长文)Spring的核心知识尽揽其中