vue基础语法学习

Object.defineProperty方法的使用

在这里插入图片描述
在这里插入图片描述

// 这是一个普通的对象
let phone = {}
// 给这个phone新增一个属性 三个参数:新增属性的对象,新增啥属性,属性值,key value对
Object.defineProperty(phone,'color',{value:'太空灰', //设置属性值writable:true,// 指明这个属性是否可以赋值// 当配置项中由setter和getter的时候上面的value和writable属性都不能写// getter方法配置项 当读取属性值的时候这个方法被自动调用get:function() {},// setter方法配置项 这个属性被重新赋值的时候被自动调用set: function() {}}
)

数据代理机制

什么是数据代理机制?

  1. 通过访问代理对象的属性来间接访问目标对象的值。数据代理机制的实现靠的就是上面所说的Object.defineProperty()方法。
  2. vue实例可以直接.属性的原理就是数据代理机制。
// target object
let target = {name:'张三'
}// proxy object
let proxy = {}// if we want to achieve proxy mechanism, we should add 'name' property to proxy
// attention: proxy property must be same as target object ,for example:'name'
Object.defineProperty(proxy, 'name', {get : function(){// indirct access to target objectreturn target.name;},set: function(val) {target.name = val}
})// es6 新特性 对象中的函数或方法:可以省略

在这里插入图片描述

注意:vue实例的代理机制的属性名是有要求的,下划线和美元符开头的一般是vue内部用的。vue不会代理_和\$开头的属性。不然就会有可能导致vue内部使用的变量被覆盖。
在这里插入图片描述
在这里插入图片描述

手写vue数据代理部分实现

Object是js中的类。
在这里插入图片描述
看vue的源码
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[lesson48]同名覆盖引发的问题

同名覆盖引发的问题 父子间的赋值兼容 子类对象可以当做父类对象使用(兼容性) 子类对象可以直接赋值给父类对象(<font color>兼容性)子类对象可以直接初始化父类对象父类指针可以直接指向子类对象父类引用可以直接引用子类对象 当使用父类指针(引用)指向子类对象时 子类…

CTF-reverse-simpleRE(base64变表逆向)

题目链接 NSSCTF | 在线CTF平台 题目详情 [HUBUCTF 2022 新生赛]simple_RE 解题报告 下载得到的文件使用ida64分析&#xff0c;如果报错就换ida32&#xff0c;得到分析结果&#xff0c;有main函数就先看main main函数分析 main函数的逻辑看下来十分简单&#xff0c;因此关键…

TinyEMU之文件系统构建

TinyEMU之文件系统构建 1 busybox简介2 编译busybox2.1 下载busybox源码2.2 进入源码目录2.3 配置busybox2.4 选择使用静态编译2.5 执行编译 3 创建文件系统目录结构3.1 创建工作路径3.2 创建文件系统主要目录3.3 创建必要设备节点3.4 拷贝编译好的 busybox3.5 创建 init 文件3…

Windows系统下安装paddle

开始使用_飞桨-源于产业实践的开源深度学习平台 (paddlepaddle.org.cn) 命令行下&#xff1a; python -m pip install --upgrade pip --user python -m pip install paddlepaddle2.6.1 -i https://pypi.tuna.tsinghua.edu.cn/simple 报异常 ERROR: Could not install packa…

数据结构-二叉树-堆

一、物理结构和逻辑结构 在内存中的存储结构&#xff0c;逻辑结构为想象出来的存储结构。 二、完全二叉树的顺序存储结构 parent (child - 1)/2 leftchild 2*parent 1; rightchild 2*parent 2 上面的顺序结构只适合存储完全二叉树。如果存储&#xff0c;会浪费很多的空…

React自定义Hook函数:高效组件开发的秘密武器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

LateX的基础学习

what can i say 在text.tex中写下 \documentclass{article} \begin{document]Hello \LaTeX. \end{document} 关闭记事本&#xff0c;cmd中dir保存&#xff0c;用latex text.tex来编译&#xff0c;可以命令行慢慢编译&#xff0c;这可以做成bat文件 为什么不直接开始在texst…

Meta提出全新文档级嵌入框架,利用LLM来增强信息检索能力

近年来&#xff0c;基于嵌入式检索&#xff08;embedding-based search&#xff09;或密集检索&#xff08;dense retrieval&#xff09;相比传统的稀疏检索&#xff08;sparse retrieval&#xff09;或基于词袋&#xff08;bag of words&#xff09;的方法&#xff0c;已经展示…

找不到msvcp140dll,无法继续执行代码的详细解决方法

在我们日常使用计算机进行各类工作任务的过程中&#xff0c;时常会遭遇一些突发的技术问题。比如&#xff0c;有时在运行某个重要程序或应用软件时&#xff0c;系统会突然弹出一个令人困扰的错误提示&#xff1a;“电脑提示找不到msvcp140.dll文件&#xff0c;因此无法继续执行…

多项式相关题()

D - S老师的虚树 值得一提的是如何求这个 a i a_i ai​&#xff0c;可以考虑按dfs序考虑同一种边&#xff0c;运用树状数组即可统计&#xff08;注意不要加重了&#xff0c;不需要打区间覆盖&#xff0c;这样可以不用打线段树&#xff09; F(i, 1, n) {ll sz d[i].size() - 1…

自动化测试的7个步骤

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

微服务:Eureka原理实践:@EnableEurekaServer、@LoadBalanced

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 微服务&#xff1a;Eureka原理实践&#xff1a…