百摩网
当前位置: 首页 生活百科

vue常见指令及其用法(周末复习vue2中this代理props)

时间:2023-06-06 作者: 小编 阅读量: 3 栏目名: 生活百科

其他的大部分代码都是用于一些边界条件的判断:如果不为函数->报错props存在且props中是否有同名属性->报错实例中是否有同名属性,而且是方法名是保留的->报错其实对data的处理就是将data中的属性的key遍历绑定至实例vm上,然后使用Object.defineProperty进行拦截,将真实的数据操作都转发到this.data上。Object.defineProperty对象属性value:属性的默认值。configurable:该属性是否可被删除。

在平时使用vue来开发项目的时候,对于下面这一段代码,我们可能每天都会见到:

但是自己实现一个构造函数却实现不了这种效果呢?

那么vue2中是怎么实现这种调用方式的呢?

其实主要是initState这个函数,这个函数初始化了props, methods, watch, computed

  • 使用initProps初始化了props
  • 使用initMethods初始化了methods
  • 使用initData初始化了data
  • 使用initComputed初始化了computed
  • 使用initWatch初始化了watch

其实整个initMethods方法核心就是将this绑定到了实例身上,因为methods里面都是函数,所以只需要遍历将所有的函数在调用的时候将this指向实例就可以实现通过this直接调用的效果。

其他的大部分代码都是用于一些边界条件的判断:

  • 如果不为函数 -> 报错
  • props存在且props中是否有同名属性 -> 报错
  • 实例中是否有同名属性,而且是方法名是保留的 -> 报错

其实对data的处理就是将data中的属性的key遍历绑定至实例vm上,然后使用Object.defineProperty进行拦截,将真实的数据操作都转发到this.data上。

Object.defineProperty对象属性

value:属性的默认值。 writable:该属性是否可写。 enumerable:该属性是否可被枚举。 configurable:该属性是否可被删除。 set():该属性的更新操作所调用的函数。 get():获取属性值时所调用的函数。

简略实现效果

作者:pino链接:https://juejin.cn/post/7112255428452417549来源:稀土掘金

    推荐阅读
  • 迷局1931播出时间(主要讲述什么内容呢)

    迷局1931播出时间?下面内容希望能帮助到你,我们来一起看看吧!《迷局1927》是刘涛、黄觉、张国庆、万妮恩、郝洛钒等主演的电视剧,由北京康乾光澍影视投资有限公司出品。该剧以上世纪二十年代末为背景,讲述上海公共租界巡捕探长因卷入了系列连环凶杀案,而引发出中日关于保护铁矿所展开的革命故事。

  • 果胶的功效与作用(果胶有什么功效与作用)

    果胶的功效与作用果胶是高档的天然食品添加济和保健品,在食品上作胶凝剂,增稠剂,稳定剂,悬浮剂,乳化剂,增香增效剂,在医药保健品上可显著降低血糖,血脂,减少胆固醇,疏通血管。它们多存在于植物细胞壁和细胞内层,大量存在于柑橘、柠檬、柚子等果皮中。低酯果胶一部分甲酯转变为伯酰胺,不受糖、酸的影响,但需与钙、镁等二价离子结合才能形成凝胶。

  • 孩子的叛逆期都是从哪里来的(孩子要经历的3个叛逆期)

    二个叛逆期是儿童叛逆期。儿童叛逆期一般发生在7-9岁,孩子上小学的阶段。他们开始挑战父母的权威,不满父母之外的一些权威和规则。这时候,父母不能训斥孩子,更不能打孩子。第三个叛逆期是青春叛逆期。青春叛逆期一般发生在初中和高中的6年里。这个阶段的孩子,正处在青春期开始或青春期进行之中。

  • 深圳地铁11号线东延线规划图(保税区小伙伴有福啦)

    对于福田保税区的上班族们来说地铁3号线南延线和站点“福保站”究竟什么时候上线营业,成了大伙儿最关心的问题。上个月,福保站—益田站地下隧道左线已经贯通。▲3号线南延线示意图福保站位于红花路与益田路交叉口西侧,沿红花路布置。车站为地下两层岛式车站,全长550米。那么福保站的具体出入口在哪,看好了车站设有6个出入口,其中A、B、E出入口位于红花路北侧,B、D、F出入口位于绒花路南侧。

  • 明日之后配方怎么没有消防斧?(明日之后消防斧解锁条件)

    明日之后配方怎么没有消防斧?配方里的消防斧是3级的斧子,3级斧子以及铁镐都是需要在技能的采集一栏内点了相应的技能才能制作,你估计是没点那个技能,你看看你采集等级够不够吧,下面我们就来聊聊关于明日之后配方怎么没有消防斧?网易《明日之后》是一款末世下的人类生存手游,在这个末日废土世界中,玩家将面临资源匮乏、天气恶劣的环境;并将从零开始采集物资、建造房屋、制作工具和武器,不断升级。

  • 合肥明年要建什么样的学校(合肥迎来1所名校布局)

    合肥明年要建什么样的学校安徽合肥又称庐阳,是我国长三角地区的次级中心城市之一,同时也是重要的科学教研文化基地。合肥新华外国语学校是一所由新华集团控股,投资10个亿建立的占地8.78万平方米的学校。合肥新华外国语学校的建设可谓是十分豪华了,无论是从学校的外观设计上还是内部装修上都是十分华丽的。

  • 乐陵东部未来规划(区域性中心城市建设渐入佳境)

    自2014年起,乐陵市率先在全省探索建立企业研究生工作站,目前,已经建起20个。今年7月13日,乐陵市政府与山东理工大学联合举办校城融合发展“一人双岗科技副总”聘任仪式,泰山体育产业集团有限公司、乐陵希森马铃薯产业集团有限公司等7家企业与山东理工大学11名教授达成聘任企业科技副总的合作意向。

  • 怎么骑自行车(学骑自行车的方法)

    怎么骑自行车首先找一个安全的地方做练习。水泥地是骑车的好地方,但如果没把控好,摔得也会很惨。读读下面的建议。)如果实在特别害怕摔倒,草坪或小石子路也不错,但在上面更难掌握平衡,而且会对轮胎造成更大的阻力。要知道如何安全地骑车。你还需要检查一下轮胎的气是不是充足,刹车是不是有效这类的事情。最好不要在人行道上骑车,在某些地区,尤其是城市,甚至是犯法的。要记得戴自行车头盔哦,可以保护头部不受伤害。

  • 汤圆是冷水煮还是热水煮(冰箱里的汤圆是冷水煮还是热水煮)

    而如果汤圆是冷水下锅煮的话,那么其中所含的淀粉就会在冷水的作用下慢慢融化,这样不仅会导致汤圆破裂,而且还会使其表皮变得十分糊烂。汤圆要煮几分钟7-8分钟左右。所以在吃汤圆的时候一定要注意控制好食用量,并且要搭配富含纤维素的水果和蔬菜一起吃,来促进肠胃的蠕动,帮助食物残渣排出体外。

  • 侠盗猎车罪恶都市解锁资产任务(侠盗猎车OL贩卖任务开启)

    即日起至5月22日,凡是在《进出口大亨》贩卖任务中进行任何非法汽车销售,即可领取额外25%的GTA游戏币。在逃出生天中,保镖必须在杀手组干掉目标前保护目标并帮助其撤离。任何时间游玩《侠盗猎车OL》都可获得仿席桑达·诺芙T恤,截至5月22日。押下2万GTA游戏币作为底注,与另外七名车手争夺头名。第一名可获得10万GTA游戏币奖励,第二名与第三名则可分别获得3万GTA游戏币与2万GTA游戏币。