vue 数据劫持代理原理

news2024/9/21 0:39:23
function lianxi(){
      // vue 数据劫持代理
      let data = {
        username:'curry',
        age:33
      }
      //模拟组件的实例
      let _this = {

      }
      //利用Object.defineProperty()
      for( let item in data){
        //console.log(item,data[item])
        Object.defineProperty(_this,item,{
          //get:用来获取扩展属性值的,当获取该属性值的时候调用get方法
          get(){
            console.log('get()');
            return data[item];     //get()方法必须有return
          },
          //set:监视扩展属性的,只要已经修改就调用
          set(newValue){
            console.log('set()',newValue);
            // this.username = newValue;   //千万不要在set方法中修改当前扩展属性的值,否则会出现死循环,会一直调用set()方法
            data[item] = newValue;
          }
        })
      }
      console.log(_this);
      //通过Object.defineProperty的get方法添加的扩展属性不能直接对象,属性修改
      _this.username = 'wade'
      console.log(_this.username);
    }

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

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

相关文章

基本指令(2):通配符,重定向,命令行管道

一、通配符 rm -rf ./* # * —— 通配符,指定路径下的所有文件(不包括隐藏文件)二、重定向 在理解重定向前,先要有一个概念:Linux下一切皆文件,大部分硬件设备都可以看做有读写方法,只不过有些方…

Web前端免费接入Microsoft Azure AI文本翻译,享每月2百万个字符的翻译

Azure 文本翻译是 Azure AI 翻译服务的一项基于云的 REST API 功能。 文本翻译 API 支持实时快速准确地进行源到目标文本翻译。 文本翻译软件开发工具包 (SDK) 是一组库和工具,可用于轻松地将文本翻译 REST API 功能集成到应用程序中。 文本翻译 SDK 可跨 C#/.NET、…

国腾GM8775C完全替代CS5518 MIPIDSI转2 PORT LVDS

集睿致远CS5518描述: CS5518是一款MIPI DSI输入、LVDS输出转换芯片。MIPI DSI 支持多达4个局域网,每条通道以最 大 1Gbps 的速度运行。LVDS支持18位或24位像素,25Mhz至154Mhz,采用VESA或JEIDA格 式。它只能使用单个1.8v电源&am…

人脸活体检测:Domain-Generalized Face Anti-Spoofing with Unknown Attacks

论文作者:Zong-Wei Hong,Yu-Chen Lin,Hsuan-Tung Liu,Yi-Ren Yeh,Chu-Song Chen 作者单位:National Taiwan University; E.SUN Financial Holding Co., Ltd.; National Kaohsiung Normal University 论文链接:http://arxiv.org/abs/2310.11…

Echarts多曲线数值与Y周刻度不符合

发现问题: 在展示多曲线图表的时候,发现图表曲线数值相差不大,但是图表展示的曲线相差很大,仔细观察之后发现是展示有问题(其实这并不能算是错误,只是由于忽略,导致的配置与预期不符合)。 问题复现&#x…

【低代码平台】JeecgBoot代码生成器如何使用?Online代码生成

Online代码生成 目前Vue3已经支持两种模式:Online在线模式 和 GUI模式代码生成。 JeecgBoot版本要求: 3.2.0 ( 提供了vue3、vue3Native模板目录 ) 第一步:通过online表单在线建表 jeecg提供了在线建表的功能,找到菜单:…

关于城市综合管廊分析与应用

安科瑞 华楠 摘要:文章介绍了城市综合管廊的概念和我国综合管廊建设的背景,并总结归纳了综合管廊的设计要点以及注意事项,为今后的综合管廊设计提供参考。 关键词:城市;综合管廊;应用 1 规划背景及技术路…

GEE案例——一个完整的火灾监测案例dNBR差异化归一化烧毁指数

差异化归一化烧毁指数 dNBR是"差异化归一化烧毁指数"的缩写。它是一种用于评估卫星图像中烧毁区域严重程度的遥感指数。dNBR值通过将火灾前的归一化烧毁指数(NBR)减去火灾后的NBR来计算得出。该指数常用于野火监测和评估。 dNBR(差异化归一化烧毁指数)是一种用…

报错:Could not resolve host: mirrorlist.centos.org;Unknown error

报错:Could not resolve host: mirrorlist.centos.org;Unknown error 一般是因为网络配置错误导致无法连接外网,我们先尝试ping一下www.baidu.com发现无法ping通。 果然,接下来我们就开始排查吧!! 1.网络配置查看 打开…

LeetCode88——合并两个有序数组

LeetCode88——合并两个有序数组 1.题目描述: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减…

SylixOS BSP开发(八)

初始化FPU、MMU和Cache组件 本来想在不初始化这些部件的情况下把SylixOS先启动起来感受下,结果测试发现如果MMU不使能的话,系统启动过程中线程无法进行调度emm。。。所以只好把这一章节提前来讲了。这三个组件的初始化都是在bspInit.c中进行的。 1. FPU初…

从零开始做一个SDWAN

VPN和SD-WAN的区别 VPN(Virtual Private Network)和SD-WAN(Software-Defined Wide Area Network)是两种不同的网络技术,它们在目的、功能和实施方式上有一些重要的区别。 目的和应用场景: VPN:VPN主要用于…

做图标设计一些常用的设计规范分享

应用程序图标设计是将某个概念转换为清晰易读的图形,从而降低用户的理解成本,提高界面的美感。在我们的企业级应用设计范围内,应用图标在界面设计的许多元素中往往只占很小的比例,调用时会缩小到比设计稿小很多倍的尺寸。此外&…

kafka3.X集群安装(不使用zookeeper)

参考: 【kafka专栏】不用zookeeper怎么安装kafka集群-最新kafka3.0版本 一、kafka集群实例角色规划 在本专栏的之前的一篇文章《kafka3种zk的替代方案》已经为大家介绍过在kafka3.0种已经可以将zookeeper去掉。 上图中黑色代表broker(消息代理服务)&…

DLT645转modbus协议网关采集电表的数据方法

DLT645有两个版本分别是DLT645-97和DLT645-07,该协议主要用于电表抄表,采用为主-从结构的半双工通讯模式,硬件接口使用RS-485今天我们来看下,用远创智控YC-645-TCP网关如何采集电表的数据 1,首先,我们需要…

淘宝京东抖音1688苏宁等关键词搜索商品API接口(关键词搜索商品API接口,关键词搜索商品列表接口)

淘宝京东抖音1688苏宁等关键词搜索商品API接口(关键词搜索商品API接口,关键词搜索商品列表接口)代码对接如下: item_search-按关键字搜索淘宝商品 taobao.item_search 1.公共参数 名称类型必须描述keyString是调用key&#xf…

UG\NX二次开发 获取面的面面积、周长

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 weixin_38891498 订阅本专栏,非常感谢。 简介 UG\NX二次开发 获取面的面面积、周长 效果 代码 #include "me.hpp" #include <NXOpen/Session…

docker部署prometheus+grafana服务器监控(二) - 安装数据收集器 node-exporter

在目标服务器安装数据收集器 node-exporter 1. 安装数据收集器 node-exporter wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gztar xvf node_exporter-1.6.1.linux-amd64.tar.gzmv node_exporter-1.6.1…

【蓝桥】铺地板

1、题目 问题描述 小蓝家要装修了&#xff0c;小蓝爸爸买了很多块&#xff08;可理解为数量无限&#xff09; 2 3 2 \times 3 23 规格的地砖&#xff0c;小蓝家的地板是 n m n \times m nm 规格的&#xff0c;小蓝想问你&#xff0c;能否用这些 2 3 2 \times 3 23 的地砖…

【QT开发(14)】QT P2P chat 聊天

在【P2P学习&#xff08;2&#xff09;】P2P 通信&#xff0c;主要存在四种不同的网络模型的第一阶段&#xff1a;集中式P2P 模式 最简单的路由方式就是集中式&#xff0c;即存在一个中心节点保存了其他所有节点的索引信息&#xff0c;索引信息一般包括节点 IP 地址、端口、节…