位置: IT常识 - 正文

v-model的双向数据绑定实现原理(附:案例和项目实例)(v-model的双向绑定原理)

编辑:rootadmin
v-model的双向数据绑定实现原理(附:案例和项目实例) 一. 前言。

推荐整理分享v-model的双向数据绑定实现原理(附:案例和项目实例)(v-model的双向绑定原理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:v-model双向绑定失效,双向lstm,v-model的双向数据绑定原理,双向lstm,v-model双向数据绑定,v-model双向数据绑定,v-model的双向数据绑定原理,双向lstm,内容如对您有帮助,希望把文章链接给更多的朋友!

相信对使用vue框架的童靴来说,v-model的使用都能信手沾来,熟悉的不能再熟悉,也都知道v-model其实是个语法糖。不过其究竟是怎么实现的双向数据绑定,很大一部分童靴还是心存疑虑。本文就根据最简单的案例和基于实际项目中最常用的实例来从两个角度讲解v-model的前世今生。

二. v-model的前世今生。

目前的几大主流MVC(VM)框架都实现了单向数据绑定。简而言之,vue中的v-model无非就是在单向数据绑定的基础上给对应表单元素(input、select等)添加了(input、change)事件,来动态修改model和view,从而达到双向数据绑定的效果。

三. v-model的实现。类型一:v-model的双向数据绑定实现原理(附:案例和项目实例)(v-model的双向绑定原理)

原生input元素的类型是text/textarea,那么是使用它的value属性和input事件来实现双向数据绑定。

类型二:

原生input元素的类型是radio/checkbox,那么是使用它的checked属性和change事件来实现双向数据绑定。

类型三:

原生select元素,是使用它的value属性和change事件来实现双向数据绑定。

四. v-model的实现案例。

本文就基于input输入框的text类型(上文中的类型一)为基准,来实现双向数据绑定的结果,并和v-mode的效果对比。

核心代码:<input type="text" :value="msg" @input="msg = $event.target.value"/>主要代码:<template> <div class="home"> <div class="box"> v-model的文本框内容:<input type="text" v-model="msg"> <p class="mscbox">v-model的展示内容:{{msg}}</p> </div> <br /> <div class="box2"> 原生文本框的内容:<input type="text" :value="msg2" @input="changeVal"> <p class="mscbox">原生的展示内容:{{msg2}}</p> </div> </div></template><script>export default { name: "Home", components: { }, data(){ return { msg: "v-model的测试内容", msg2: "原生的测试内容", } }, methods: { changeVal(e){ this.msg2 = e.target.value } }};</script><style>.mscbox{ color: red;}</style>效果图:

 五.  根据v-model双向数据绑定实现父子组件的项目实例。实现功能描述:通过父组件的按钮的clink事件和子组件弹窗的关闭事件,实现父子组件弹窗的显示、隐藏无缝交互。主体核心思想:父组件中给子组件标签设置v-model并绑定用于控制子组件显隐的变量。核心代码:父组件:<!--这里使用v-model,相当于是:value="son_obj.show", @input="son_obj.show = $event.target.value"--> <son v-model="son_obj.show"></son>子组件:props: { value:{ type: Boolean, default: false } }, data(){ return { isShow: false, } }, watch:{ value(bool){ this.isShow = bool; } }, methods: { handleClose(){ this.$emit('input',false) } }全部代码:父组件:<template> <div class="parent"> <el-button type="primary" @click="openSon">开启弹窗</el-button> <!--这里使用v-model,相当于是:value="son_obj.show", @input="son_obj.show = $event.target.value"--> <son v-model="son_obj.show"></son> </div></template><script>export default { name: 'parent', components: { son: (resolve) => require(["../components/son.vue"], resolve), }, data(){ return { son_obj: { show: false } } }, methods: { openSon(){ this.son_obj.show = true } }}</script>子组件:<template> <div class="son"> <el-dialog title="提示" :visible.sync="isShow" width="30%" :before-close="handleClose"> <span>这是一段信息</span> <span slot="footer" class="dialog-footer"> <el-button @click="handleClose">取 消</el-button> <el-button type="primary" @click="handleClose">确 定</el-button> </span> </el-dialog> </div></template><script>export default { name: 'son', props: { value:{ type: Boolean, default: false } }, data(){ return { isShow: false, } }, watch:{ value(bool){ this.isShow = bool; } }, methods: { handleClose(){ this.$emit('input',false) } }}</script>效果图:

六. 结语。

以上就是本文的全部内容,通过基础的input案例和父子组件交互案例来诠释了v-model的双向数据绑定实现原理。简而有序,相信能给读者带来清晰明了的知识理解。码字不易,还请各路神仙多多指教。

本文链接地址:https://www.jiuchutong.com/zhishi/295384.html 转载请保留说明!

上一篇:操作系统——死锁(操作系统())

下一篇:面试官问出这几道算法题,你能扛住么?(面试官问几个问题)

  • 蚂蚁庄园小鸡怎么不见了(蚂蚁庄园小鸡怎么叫醒)

    蚂蚁庄园小鸡怎么不见了(蚂蚁庄园小鸡怎么叫醒)

  • ios14如何更新(ios14如何更新软件)

    ios14如何更新(ios14如何更新软件)

  • iphonexsmax夜景模式怎么开(iphonexsmax夜景拍摄技巧)

    iphonexsmax夜景模式怎么开(iphonexsmax夜景拍摄技巧)

  • cad画线不显示长度(cad画线不显示长度显示坐标怎么办)

    cad画线不显示长度(cad画线不显示长度显示坐标怎么办)

  • 入耳式耳机有杂音滋滋(入耳式耳机杂音)

    入耳式耳机有杂音滋滋(入耳式耳机杂音)

  • qq回执消息有什么用(qq回执成功后就能登qq了吗)

    qq回执消息有什么用(qq回执成功后就能登qq了吗)

  • 磁盘与主机之间的数据传送方式是(磁盘与主机之间的连接)

    磁盘与主机之间的数据传送方式是(磁盘与主机之间的连接)

  • col al10是什么型号(cor al10是什么型号)

    col al10是什么型号(cor al10是什么型号)

  • oppo互传在哪打开(oppo互传在哪开启)

    oppo互传在哪打开(oppo互传在哪开启)

  • 拉黑又删除对方还能加回来么(拉黑又删除对方是什么心理)

    拉黑又删除对方还能加回来么(拉黑又删除对方是什么心理)

  • 华为手机悬浮球如何关(华为手机悬浮球开关在哪里设置)

    华为手机悬浮球如何关(华为手机悬浮球开关在哪里设置)

  • wps中替换文字怎么弄(wps替换文字怎么弄颜色)

    wps中替换文字怎么弄(wps替换文字怎么弄颜色)

  • iphone为什么不能提前激活(iphone为什么不能创建id)

    iphone为什么不能提前激活(iphone为什么不能创建id)

  • 腾讯微信会员怎么共享(腾讯微信会员怎么转移到QQ)

    腾讯微信会员怎么共享(腾讯微信会员怎么转移到QQ)

  • 苹果手机网络出现edge(苹果手机网络出错1005)

    苹果手机网络出现edge(苹果手机网络出错1005)

  • word落款在哪里(word落款是什么意思)

    word落款在哪里(word落款是什么意思)

  • 苹果11是磨砂的吗(苹果11哪款是磨砂的)

    苹果11是磨砂的吗(苹果11哪款是磨砂的)

  • 陌陌的聊天记录怎么恢复(怎么查看陌陌的聊天记录)

    陌陌的聊天记录怎么恢复(怎么查看陌陌的聊天记录)

  • etc掉下来怎么重新激活(etc掉下来怎么重新激活要多久)

    etc掉下来怎么重新激活(etc掉下来怎么重新激活要多久)

  • cad卸载不了(cad卸载不了怎么回事,也无法修复)

    cad卸载不了(cad卸载不了怎么回事,也无法修复)

  • 为什么电话打过去关机(为什么电话打过去是空号)

    为什么电话打过去关机(为什么电话打过去是空号)

  • 电话加入黑名单会怎样(电话加入黑名单对方还能打通吗)

    电话加入黑名单会怎样(电话加入黑名单对方还能打通吗)

  • 移动硬盘通过Mac磁盘工具抹掉磁盘不小心强制退出急救方法(移动硬盘通过软件改硬盘容量怎么改)

    移动硬盘通过Mac磁盘工具抹掉磁盘不小心强制退出急救方法(移动硬盘通过软件改硬盘容量怎么改)

  • 运输发票税率6%和3%区别在哪
  • 企业所得税纳税义务人
  • 代垫水电费增值税
  • 保险公司代征的税收
  • 合伙企业需要报工商年报吗
  • 劳务收入个税需要进行所得税汇算吗
  • 减免教育费附加和地方教育费附加
  • 小企业遵循什么会计准则
  • 信息技术服务企业研发费用加计扣除
  • 售后回租业务是什么
  • 先征后返的所得税账务处理
  • 私立医院收到投诉信
  • 企业如何申请科研项目
  • 业务员出差借款,用途写什么
  • 房地产开发成本费用明细表
  • 固定资产减半征收2%申报如何填增值税纳税申报表
  • 固定资产折旧属于制造费用吗
  • 进项税暂估收入的税务处理
  • 福利费用计入
  • 个人遗失的定义
  • 补缴企业所得税滞纳金账务处理
  • 宣传资料设计制作
  • 幼儿园是否缴纳残疾人保障金
  • 总账科目和明细科目有哪些
  • 申报表作废后怎么显示的是已申报,不能重新申报
  • 企业所得税能扣除的税金
  • 支付宝微信结算属于什么结算方式
  • 设计费计入成本
  • 餐饮研发费用确认条件
  • win11本地用户和组
  • cpu游戏性能天梯图2023
  • 苹果x如何显示电量数字
  • 事业基金的主要账务处理
  • 商家说补发什么意思
  • 数字权利服务如何打开
  • 手机苹果14
  • 委托代销商品的特点及种类
  • 微软商店 低价区
  • 建造一座污水处理池投资了45万元
  • 分红财务做账
  • php使用js
  • 土地增值税清算管理规程
  • 瑞士·劳特布龙嫩小镇
  • php flock函数
  • 前端vscode配置
  • 挂靠的项目怎么做账
  • vue全家桶介绍
  • win11任务管理器卡死没响应
  • 生产企业出口退税账务处理会计分录
  • 制造费用转入什么
  • mongodb如何修改数据
  • 房产税的纳税义务人是征税范围内房屋产权所有人
  • 矿场维护
  • 应收账款周转速度快表明
  • 受托代销的含义
  • 外币交易的账户设置
  • 本月没有销售怎么做账
  • 人工工资会计科目
  • 汽车行业的财务会计
  • 增值税普通发票查询
  • 期末自动结转期间损益
  • sql server使用教程
  • mysql分组后取最新的一条记录
  • linux安装wine命令
  • 怎么备份和恢复goodnotes中的数据
  • win8 开机
  • windows显示缩略图
  • xp系统怎么打开开机启动项
  • linux挂载的概念
  • 文件夹权限命令
  • 玩转cmd命令
  • javascript设计简单计算机
  • 河南居民医保网上缴费查询
  • 税务退休工资
  • 先征后返的增值税计入哪个科目
  • 电子税务局网上实名认证流程
  • 海宁到许村公交车路线
  • 江苏省税务局授权网址
  • 山东省税务局地税苑宿舍是谁开发的?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设