Vue.js的双向绑定原理

news2024/9/24 18:19:31

Vue的双向绑定

vue双向绑定是其最重要的核心亮点,其原理也很简单,这里做个简单总结

  • vue2的双向绑定是利用的Object.defineProperty
  • vue3的双向绑定是利用的
    ES6Porxy中的defineProperty(target, propKey, propDesc
    其作用类似于Object.defineProperty

下面写一下两种原理的简单代码

  • 用于直观展示双向绑定的视图层(view) html代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>文档标题</title>
</head>
  
<body>
  <input id="input"/>
  <p id="output"></p>
</body>
</html>
  • vue2的双向绑定
let obj={
  message:"12"
}
Object.defineProperty(obj,"message",{
  get:function(){
  	return this._message
  },
  set:function(newValue){
  	this._message=newValue
    document.getElementById("output").innerHTML=newValue
  }
  
})

document.getElementById("input").addEventListener('input',(event)=>{
  obj.message=event.target.value
})

代码主要对对象的set过程进行劫持,将其与view层绑定

  • vue3的双向绑定
let obj={
  message:"12"
}
const newObj=new Proxy(obj,{
  get:function(target,propKey,rev){
    return Reflect.get(target,propKey)
  },
  set:function(target,propKey,value){
    Reflect.set(target,propKey,value)
    document.getElementById("output").innerHTML=value
  }
})

document.getElementById("input").addEventListener('input',(event)=>{
  newObj.message=event.target.value
})

  • 效果
    双向绑定!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1483204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

水库安全监测方案(福建地区水库安全监测案例分享)

我司星创易联最近在福建省受到了一个水库安全监测系统项目的委托。该水库位于福建中部山区,作为该地区的重要防洪与供水工程,对下游数十万人的生活产生重大影响。但是因为水库附近地质情况复杂,水库大坝在多次洪水冲击下出现一定病害,亟须全面加强对水库大坝安全状况的监测,以确…

C语言---文件操作(1)

1.文件的打开和关闭 fopen有2个参数&#xff0c;第一个是文件的名字&#xff0c;第二个是打开的模式&#xff08;例如是读文件还是写文件&#xff09; (1)该文件夹下面没有data.txt文件&#xff0c;但是我执行了read操作&#xff0c;所以会显示这样的错误 &#xff08;2&#…

php httpfs链接hdfs

一.代码&#xff08;有bug&#xff09; GitHub - michaelbutler/php-WebHDFS: A PHP client for WebHDFS 二.调用代码 1.代码1.代码 require_once(../webhdfs/src/org/apache/hadoop/WebHDFS.php);require_once(../webhdfs/src/org/apache/hadoop/tools/Curl.php); require_o…

YOLOv5 + Flask + Vue实现基于深度学习算法的垃圾检测系统源码+数据库

✨界面展示 登录 注册 垃圾检测 用户管理 404 Not Found页面 403 拒绝访问页面 黑暗模式 深蓝模式 灰色模式 色弱模式 ✨技术特性 深度学习 YOLOv5&#x1f680;&#xff1a;高效、准确的目标检测算法&#xff0c;实时识别检测图像和视频中的各种对象PyTorch&#xff1a;机器…

对于《幻兽帕鲁》这样的游戏,如何优化服务器性能以提高游戏体验?

对于《幻兽帕鲁》这样的游戏&#xff0c;如何评估和优化服务器性能以提高游戏体验&#xff1f; 硬件配置优化&#xff1a;选择高性能的服务器&#xff0c;如4核16G的幻兽帕鲁服务器&#xff0c;这样可以保证有足够的计算性能和内存容量来支持游戏的运行。同时&#xff0c;考虑到…

k8s-kubeapps图形化管理 21

结合harbor仓库 由于kubeapps不读取hosts解析&#xff0c;因此需要添加本地仓库域名解析&#xff08;dns解析&#xff09; 更改context为全局模式 添加repo仓库 复制ca证书 添加成功 图形化部署 更新部署应用版本 再次进行部署 上传nginx 每隔十分钟会自动进行刷新 在本地仓库…

机器学习 | 基本概念梳理——数据集评估,任务,训练和测试,期望结果

文章目录 1 整体概念梳理1.1 数据集与数据术语——原材料1.2 任务术语——目标1.3 训练和测试术语——怎么做1.4 结果——预期期望 整体框架 机器学习的基本概念全梳理 我们通过一个生动形象的例子来介绍这些概念 我们假设有一个任务是根据地理天气等特征位置预测经纬度 1 整…

FL Studio21编曲制作软件中文版2024最新版本功能详细介绍

一、软件概述 FL Studio 21&#xff0c;全称Fruity Loops Studio 21&#xff0c;是一款功能强大的编曲制作软件&#xff0c;被广泛应用于音乐创作、编曲、录音、混音和后期制作等领域。其中文版为中国的音乐制作人和爱好者提供了更加便捷的操作体验。 FL Studio 21 Win-安装包…

雅马哈伺服器TS-S系列说明具体详情内容可参看PDF目录内容

雅马哈伺服器TS-S系列说明具体详情内容可参看PDF目录内容

C++初等数论

对一些概念了做了粗略介绍 公众号&#xff1a;编程驿站 1. 前言 数学知识的根基对学好编程至关重要。本文和大家讲讲在编程中要用到的数论知识。如同余式、欧拉定理和欧拉函数、费马小定理、威尔逊定理、裴蜀定理、模运算意义下的逆元、扩展欧几里得算法、孙子定理&#xff0…

CPU、GPU 混合推理,非常见大模型量化方案:“二三五六” 位量化,模型量化详细实现方案

CPU、GPU 混合推理&#xff0c;非常见大模型量化方案&#xff1a;“二三五六” 位量化&#xff0c;模型量化详细实现方案。 非常见整型位数的量化&#xff0c;来自让各种开源模型能够在 CPU 环境、CPU & GPU 环境混合推理的技术方案&#xff1a;llama.cpp 。为了能够在低配…

【SQL】608. 树节点(流控制语句 CASE + IF语句)

前述 知识点推荐学习&#xff1a; sql中的 IF 条件语句的用法 MySQL&#xff1a;if语句、if…else语句、case语句&#xff0c;使用方法解析 题目描述 leetcode 题目&#xff1a;608. 树节点 思路 关键点&#xff1a;如何确定有没有子节点 根节点&#xff1a;父节点为空内节…

【自然语言处理五-注意力其他--多头注意力位置编码等】

自然语言处理五-self attention的其他问题&#xff08;多头注意力&位置编码&#xff09;等 多头注意力 multi-head attention多头注意力的意义是什么&#xff1f;多头注意力的运作流程 位置编码postion encoding 之前用四篇博客说明了注意力以及自注意力的运作流程&#xf…

人才测评系统在企业中的作用有哪些?

一个企业除了产出价值给社会&#xff0c;它还有自己的工作架构体系&#xff0c;无论的工作时间制度上&#xff0c;还是工资组成方向&#xff0c;这样公司才能正常运转&#xff0c;那么人才测评系统可以在企业中充当一个什么角色呢&#xff1f;又或者说它起着什么作用呢&#xf…

7.WEB渗透测试-Linux基础知识-Linux基础操作(一)

内容参考于&#xff1a; 易锦网校会员专享课 上一篇内容&#xff1a;5.WEB渗透测试-前置基础知识-常用的dos命令-CSDN博客 1.终端 终端&#xff1a;是一种特殊的字符设备&#xff0c;用来向计算机输入数据和显示计算机的输出 2.相对路径、绝对路径 绝对路径&#xff1a;cd/h…

什么是大模型微调?微调的分类、方法、和步骤

2023年,大模型成为了重要话题,每个行业都在探索大模型的应用落地,以及其能够如何帮助到企业自身。尽管微软、OpenAI、百度等公司已经在创建并迭代大模型并探索更多的应用,对于大部分企业来说,都没有足够的成本来创建独特的基础模型(Foundation Model):数以百亿计的数据…

洛谷P6022 快乐水

他来到了一家商店门前。 这家商店为了吸引顾客来买快乐水&#xff0c;搞了这么一个活动&#xff1a;「55 个瓶盖换一瓶快乐水」。于是&#xff0c;人们纷纷来他的店里买快乐水。 买完快乐水&#xff0c;他想到了一个问题&#xff1a; 如果一瓶快乐水有m 个附属品&#xff0c…

【数据结构】数组

第一章、为什么数组的下标一般从0开始编号 提到数组&#xff0c;读者肯定不陌生&#xff0c;甚至还会很自信地说&#xff0c;数组很简单。编程语言中一般会有数组这种数据类型。不过&#xff0c;它不仅是编程语言中的一种数据类型&#xff0c;还是基础的数据结构。尽管数组看起…

加密与安全_探索对称加密算法

文章目录 概述常用的对称加密算法AESECB模式CBC模式 (推荐)ECB VS CBC 附&#xff1a;AES工具类总结 概述 对称加密算法是一种加密技术&#xff0c;使用相同的密钥来进行加密和解密数据。在这种算法中&#xff0c;发送方使用密钥将明文&#xff08;未加密的数据&#xff09;转…

腾讯云幻兽帕鲁服务器中,如何检查并确保所有必要的配置文件(如PalWorldSettings.ini和WorldOption.sav)正确配置?

腾讯云幻兽帕鲁服务器中&#xff0c;如何检查并确保所有必要的配置文件&#xff08;如PalWorldSettings.ini和WorldOption.sav&#xff09;正确配置&#xff1f; 登录腾讯云控制台&#xff1a;登录轻量云控制台&#xff0c;找到部署了幻兽帕鲁的服务器&#xff0c;单击实例卡片…