00:00
好嘞,各位,咱们接着聊,回顾了VIEW2的响应式原理之后呢,我们就来正式的说说VIEW3的响应式原理,先不用看我们的这个总结啊,来,我把VIEW2的这个工程呢先给它停掉,然后呢把这个给它删掉,我们首先做一件事儿啊,各位,就是VIEW2里面存在的这个问题,那么到了VIEW3里面还存不存在呢?我们先去验证一下,如果VIEW3里面依然存在这个问题,同学那就什么也别说了,是不?你什么这些新的方式啊都白费,是不跟之前是一样的诶,其实能预测到结果,各位U3里面肯定是不存在这个问题的,对不对啊,那为了让咱们的说法更有说服力,我还得带着大家呢去验证一下,来吧,各位把五二的这个呢就给它关掉,这会儿呢,咱说过啊各位,一旦你要是把那个脚手架给它停掉了,整个页面会每隔一段时间就给那个服务器发一个请求给那个8081,诶问一下,诶你看诶说你还有东西吗?我这儿怎么得不到你的信号了呢?在这儿关掉就可以了啊来,咱回到这儿,各位首先验证一下。
01:00
在VI3里面,我直接去新增一个属性,或者是删除一个属性,它是不是响应式的呢?来在这测试一下啊各位再写两个按钮,那么第一个按叫做添加一个sex属性,那这呢,给它换一下,叫做删除一个name属性啊,那在这同样的道理,爱的sex,那在这儿呢,Delete name不就得了吗?一个这个一个这个复制走是不是得准备方法去啊,那在这个数据这块呢,就给它折叠起来,在这呢,方法这个给它折叠起来,再写两个呗,啊分别是这两个东西缩进,你调一下,前边呢都得加上这个方式,那这儿呢,给它写上呗,走里边怎么做呀,先说说添加啊,咋添加呀,找到那个人直接添加呗,非常简单,各位person点咋的性别等于比如说这回呢,让他是一个男同志,写完了各位啊,但是你要记得把这个。
02:00
还有什么呢?这个是不是得交出去,哎,你不交出去模板里面没法用了,这不墨迹了,来各位往上滑,在这儿再来一个展示的不是年龄了,是什么呢?哎,性别,哎,那在这呢,删掉,Thanks,那想做的好一点,这会当然还得来一个V-show,那说老师U3里面V-show这没变,哎呀,跟原来一样,该怎么写还怎么写啊把这个呢放在这儿,走这来测试一下效果啊刷新有性别吗?没有,因为我的确没有那属性,那接下来点击这个走你各位。VI3里面没有,第一个问题就是当我添加一个属性的时候,页面咋的?哎,不会说不更新会更新的,哎,也就是说新增属性也是响应式的,同学,你知道你得谢谢谁吗?你得谢谢reactive,知道不正是因为有了这哥们儿,你才能这么顺畅的直接添加一个东西,然后人那边呢,就是响应式了是不?那同理,验证一下这个吧,各位,我想删除那个名字,那怎么写,从对象里面删除一个属性还不会了,De delete,谁这个person第二内幕,那在内幕这呢,我也得做的好一点,把这个复制给它放在这,如果你有名字,那我就展示,没有呢,HR整个都不见了,来刷新一波,现在有名字来删除走是不没了?嗯,同学来吧,你对这个对象里面属性的操作,你随意玩增删改查你咋的都行是不?哎,你只要动这个属性放心reactive给你弄出来的那个pro啊,那个对象就能够检测到,特别给力,同学你说方不?
03:32
方便对不,什么Dollar呀什么呀,边去吧是吧,直接改就可以了,然后呢,再验证另外一个问题,就是我直接通过下标去操作数组里的元素,能不能有效果呢?哎,同学说老师写代码吧,我可不写,为啥呀,写过了在这儿呢,干嘛呢?这不就是在通过数组的这个下标去改吗?对吧,能不能改掉早就看完了嘛,各位来修改人的信息走,你是不是变成了学习呀?哎,OK,也就是说各位啊,VIEW3里面呢,是不存在这些问题的。
04:03
那它怎么就这么给力呢?来吧各位,正片开始了,我们说说VIVO3里面响应式的原理,我可以脱离这个脚手架去说,所以说在这儿呢,我直接创建一个文件夹,零五下划线走着,就叫VI3中的什么呢?响应式原理,或者别说中的了,就是VIEW3的响应式原理,我就用一个点HTML就能给大家说明白,我在这呢,临时写一个demo.html哎,算了吧,这名呢,我还是改一下吧,复制在这儿呢,重命名粘过来好,里边呢,写点代码走着,嗯,是在这儿啊好,写一张脚本,来吧各位,首先呢,我准备一个东西啊,叫做person人呢,有名字,哎,这名字呢,同学还是张三是吧,哎,老工具人了,在这儿写一个配置,年龄呢,18岁,写完了吧各位,哎,我管这个东西叫做原数据,哎,什么叫做原数据,哎,就是源头的那个。
05:03
哎,最开始的那个数据,哎,好了,接下来呢,同学,模拟一下VIEW2里面实现代理的效果啊,我得模拟一下,一会才好对比嘛,哎,走着叫做模拟VIEW2中实现什么呢?叫做响应式啊,实现响应式走,那怎么写呀?VIEW2里的套路就是你上来啊,先给我准备一个空对象,随后呢,Object点儿得翻property,然后说各位你想给哪个对象身上去追加属性啊,是这P对吧?哎,当然这块不能写引号是吧?然后呢,给他身上追加什么属性啊,Name,为啥写name,因为这有name嘛,对吧?各位啊,然后得配置什么来着,在这我就直接写了啊,一个是geter啊,一个是什么呢?这个S,那你说geter什么时候调用啊?哎,在这写一个注释,叫做有人读取name时咋的呀调用,那这个site呢?哎,写好了叫做有人修改name时咋的这个调用OK,那么get。
06:03
里面怎么写,你得把原数据的这些东西返回出去,对不对,那就是person点谁呢?当然是name了呀,那在这儿呢,如果有人修改,其实我是可以得到一个值的,对吧?各位哎,那有改的是谁呢?person.name等于value是不是就可以了呀?啊那同学其实我想实现响应式啊,你说我最主要想用谁,是不是想用这个set,你说是不是各位我就用一行代码去模拟旅游二帮我更新页面啊,贼low的一行代码就叫做有人修改了name属性,我呀发现了,好呢,我要去更新界面是不?各位OK,完事了,那你这只是实现了对谁的代理呢?内幕,但我这里还有A呢,那怎么办呀,这套东西给他再来一份,写个A是不就得了,当然我们可以像之前讲课那样写的再好一点,就是我自己通过object.case拿到你一共有多少个属性,然后写了一个循环,然后去便利,一个一个的执行这句话是不是在这没你时间,所以说同学请允许我在复制这么一堆东西,这块是age,这是age,这是age,这儿是age,那这也敢,那这呢也改是不?各位哎,就手动便利了,行,就这么一个效果,来吧,咱看看效果去啊各位折叠折叠,右键打开,首先我们观察一个东西,就是person身上到底有什么啊person啊,Name age OK,没毛病,那看一下PE呢,啊说老师什么都没有,不要这样说啊,这儿呢,对不?各位通过S实现的,那么接下来我们测试一下啊,当有人修改这个name的时候,比如说呢,让它变为李四走,你各位怎么样想,响应是在哪?
07:47
体现的各位,啥叫响应式是不是这句话呀,没有这句话玩个寂寞对吧?各位要的就是这句话嘛,把这句话可以替换成一堆很复杂的修改页面的代码,对不对?各位好,那也就是说我修改内幕他能不能发现啊,能那同理呢,我修改age等于90岁同学能不能发现,能啊,那读取我就不说了,那肯定是调用这个呗,那个get呗,是不,各位,但现在这里边啊,它有一个问题,什么问题呢?各位你看着就是当我添加一个东西的时候,比如说呢,来一个难啊老师,这个添加完了呗,嗯,那你看一下呗,嗯,P身上老师你看这不有吗?这是老生常谈的一个问题了,说的都恶心了是吧?各位,就是你这种东西有get,它才是响应式的,你这是个啥呀?这是个死数据是不?所以说同学你看直接添加不行,那么刷新一波我要删除呢,Delete删除谁呀?p.name对不删,他告诉你false是啥意思。
08:45
就是删不掉,哎,同学们还记得吧,Delete这个关键字,你去删除一个对象里的属性的时候,它会给你一个返回值的,它会告诉你删掉了还是没删掉,很明显删掉了吗?没有,看看P里面有没有name呀,依然有,为什么没有删掉呢?那是因为啊,你在定义这个name的时候,你少写了一个东西,还记得它不comfortableigable叫做可配置了。诶,你把它写成true,那意味着咋呢?就可以往下删了,来刷新一波各位一样的代码给delete p点内幕是往下删呀,嗯,告诉你删完了,那么Peter呢?
09:20
嗯,删完了,为什么不是响应式的呢?那是因为我无法捕获到你删除了P身上的一个属性,如果说你对内幕读取,我能捕获到get,如果你对内幕修改,我能捕获到用set,但如果说你添加一个属性,嗯,捕获不到,你删除一个已经存在的属性,嗯,也捕获不到是不?所以说同学V2用这种方式实现响应式是有一点点小问题的,还有一个问题就是它麻烦你说这一段代码你是不是得一遍一遍写呀,所以说你肯定得自己写一个循环遍历啥的,是不来把VIEW2的这个注掉,嗯,那么接下来呢,重头戏开始了,那么就是VIEW3怎么去实现这个响应式,诶,我丢了一东西啊,我把那P啊也得给它一并助掉。
10:10
OK,折叠啊,别干扰,咱们来说说这个VIEW3是怎么实现响应式的。走,想学习VIEW3的响应式,必须先认识window身上的一个人,哎,同学你看啊,有的时候容易出现这情况,就你想把它注掉,结果你一敲东西嘣咋的,他这又展开了是吧?哎,不知道咱之前说没说过了,在这说一下,各位来个井号region是吧?在这儿呢,再来一个井号,叫做under region OK,那也就说不管你这里面写的是什么,能不能折叠,只要有了region and region来吧,你就折吧,对吧,它不会奇奇怪怪的自己就打开了。来各位想研究VIEW3中的响应式,你必须得认识一个人,就是window身上的这个东西,叫做pro,它是window身上的一个内置的构造函数,不用下载,不用安装,不用引入,直接就使用好,那怎么玩呢?来各位啊,Person是不是在这儿呢?嗯,他这么玩的constant p或者你用light呀也行,嗯,走着,然后在这呢,他得new。
11:11
一个prox,哎,然后呢,走这个prox同学,之前我们在配置脚手架那个代理的时候,是不是用过这个东西啊同学,Prox y这个词儿无论出现在哪,人家这个单词的意思就叫代理,至于说你是说怕加请求跨域,你配一个代理,还是说你想熟实现这个数据的响应式,你写一个代理,人家不管你这个概念就叫啥,就叫代理,就有点像啥呢?各位有点像这个东西,哎,咱之前是不是学过那个路由RO提root,我管你是什么生活中的路由,前个路由后端路由root就叫路由是不?所以说pro这个单词的意思它就叫做代理啊,那我这里的代理它有什么作用呢?各位来看着啊,他呢能够让P去映射对person的操作,哎,说白了,各位跟你那个object property弄出来一个小写的P,完了匹配get是一个道理,对吧,你这一改小写的P,这呢就发生变化,最主要的是这个变化人家还能。
12:11
得得到,哎来吧,说说他的语法是什么?首先第一个参数,他要问你哥们儿,你想让这个小写的P代理对哪个对象的操作呢?那很明显是person,所以说person整过来,哎说老师这好像就行了吧,是不是写到这就行了呀,那看看效果呗,诶结果一刷新的你发现不对啊,说什么什么什么少了一个东西啊回来各位是因为你没有传递第二个参数,第二个参数呢,你如果说什么都不想写,你可以用一个空对象去占位,但是不允许你连写都不写,OK,哎,占个位好同学啊,咱没有必要哗一下子把所有的都给你写完了啊说你看实现了是吧,哎,换一种方式啊,各位来,我在这呢,写一个空对象,就是我什么配置也不传,你要看文档,同学,人家哗给你写一堆是不在这我就传一个空对象,然后我去测试什么呢,这P呀,里面有什么属性。
13:05
我去修改P的name,这会儿变不变是吧?来测试啊各位,刷新一波person,这毫无疑问啊各位,这里面肯定有name和age,接下来你瞧好了,各位啊,P我先让你看一下啊呀。同学厉害不,也有name,也有age,然后这会儿呢,有一个细节的点啊,有些同学说老师那我想看看person,我想展开啊,那就看呗,有原型对象啥的,哎说老师我想看看这个啊,这个什么代理实力对象,老师我想看看他,你一看,哎呦我天呀,崩溃了,老师,不对,这原型原型对象也没有是吧?这这什么情况,这都是方括号什么的,诶说一下各位这里边的东西呢,我们就不用太关注了,说的都是什么啊,一个是handler,就是当你对属性进行增删改查任何操作的时候,都得靠这里面的配置去完成,然后这个target是什么意思呢?你打开各位啊,就是age 18张三,就是具体的数据,当然了各位你去取出那个name和age的时候,你说你用这么写吗?说这个东西,然后点方括号,方括号它给它括回扩回点age,不用不用这么写,换句话说你这么写它也不行,各位谁谁能这么写代码啊,P点方括号,方括号完了targett完了扩回扩回完了点name同学,你首先从语法上来说,这就不。
14:22
是不,各位不用这么麻烦哎,给它折叠起来,就直接这么看就可以啊,Name OK了吧,来各位啊,现在我只是带着你看了一下person,看了一下这个代理对象P,那么接下来啊,就让他发生点事情,瞧啊我呀,p.name等于李四,我在干嘛?我在修改P的内幕是吗?各位走啊,这李四就代表他告诉你,你给他改成李四了,那这时候回头你去看这person。厉害不?他也变成李四了,也就是说我修改属性他能不能发现,就咱那个proxy能不能现能哎修改能,那我添加呢P点性别,哎等于什么,等于男走,那我这回再看person呵。
15:10
也来了,说老师那P呢,那P当然有了呀,对不啊,说老师你看修改型添加型我删除呢,别类别delete的p.age他告诉我删完了,然后回头我看这person呢呵,真删完了,哎,同学有没有一种感觉,你对属性的增删改查的动作,这个pro代理对象都能够捕获到,而且最主要的是各位回头这我问你我写什么get set啥的了吗?没写呀,我就写一个空的配置对象是不?嗯,那有同学说老师那这玩意儿实现响应是简单呀,这不就实现了吗?这不就响应式吗?说老师你看呢,来person身上有name是张三完了,我p.name完了等于什么呢?李四,然后P这块啊,这个person这不就变了吗?说老师这不就完成这个详式了吗?哥们儿,你现在完成的只是一个代理,啥意思?你改了P的name来重新画,你改了P的name完了谁的name变,Person的name变。
16:09
你改了这儿,这就跟着变啊,你改了那儿,那就跟着变,同学,这叫想应是吗?这只是一个代理的操作,你说对吗?各位,哎,也就是说打在person的身上,但是疼在这个人的身上是不是?哎,打在P的身上,疼在person的身上,这不叫响应,是响应式的含义是你修改了,我得在控制台输出那句话说你修改了谁,你删除了谁,你更新了谁是不是?哎,然后呢,我去更新界面,所以说在这同学你没写完你这代码,你要真想借助它实现响应式,你得捕获到数据的修改,那怎么捕获呀?诶,来的同学在这写啊,S,然后在这写呢,S,我写到这儿啊,有的同学啊,就乐了,说老师啊,你这兜了一大圈,这不还是用get和S吗?但是同学,我用的不再是这个了,不是object,得翻property身上的geter和C。
17:04
Object得property身上的这个get和他有点弱智,为啥说有点弱智呢?哎,我写完了你就知道了,在这同学看着啊,Get我在这呢,Consolo一个东西,哎,我这么说叫做有人读取了,诶读取了啥呢?你发现你没法说了。你在这儿就有法说,为啥呢?你看同学你说了吗?这是name呀,你实实在在的指明了就是name,那所以说在这儿我就可以说呀,有人修改了内幕,或者说有人什么读取了内幕,那你这是诶着那我这就可以说呀,但你发现这儿啊有一种感觉,哎呀说不出来了啊那咱就这么说吧,有人读取了什么呢?哎,P然后呢,叫做身上的某个属性啥,我也不知道,反正是有人读了是不?各位来咱测试一下,刷新一波,读一下呗。P点内幕这是不是读哎,别写等号,写等号那不是改了吗?P点内读没读读了,哎,你看有人读取了P身上的某个属性,我问你这为啥是安范啊,为啥是安find的,因为你的geter没有返回值呗,啊老师,那我返回一个100行啊,哎,看效果啊,刷新一波p.name走你哎,读取了爱是不一百是。
18:18
那同学你这么写啊,可就有意思了,你瞧着我读一下A值,那哼,有人读取了P身上的某个属性啊,哪个你还说不明白完结果呢?呵,什么属性的值都变成了100,你觉得这事儿合适吗?所以说同学你得琢磨一下这儿怎么办呀?哎,同学靠他所得到的参数,哎,它能收到两个常用的参数A和B,那在这呢,我给你输出一下这个A和B啊,这100呢,先让它return着啊,回到这边往这边呢挪一挪,刷新一波啊,P点内幕是不是在读取啊,走你。有人读取了P身上的某个属性,同学看A是啥?哎,A就是你new prox的时候传入的那个对象,我们管这个叫啥来着,原对象,哎,或者叫原数据,我们管叫什么来着,叫代理数据是不是各位,哎,好了,或者叫代理对象来走着,那同学知道他是谁了吧?哎,源头是谁,他就是谁吧,我们一般不管他叫A,哎,用这个行参target啥意思呢?哎,其实同学就是这person说的再直白点,你new pro的时候,你传入的是谁?那么你每次去触发这个get的时候,这个target就是谁,那你说那B呢?来再看一下P点内,嗯,B是谁?哎说老师A没有定义,那当然是这啊,我得改一下是吧,复制好回来刷新一波,走P点内走B着谁,你读的是name,他就告诉你是name,那你说同理,如果你读的是age呢?那就告诉你是age呗,同学,你看看啊,这个原对象给你了,完了你。
19:51
读取修改的是哪个属性,它也给你了,那你说接下来呢,还能再写这个written return100了吗?不能了,怎么办?拿着这个名去这个里边把那name给它返回是不就得了各位啊,回来,那这呢我们一般不用B,毕竟啊,它代表的是这个属性的名,哎,我们用这词proper name对不好了,复制把它呢放在这儿啊,那这行的同学我就先注掉吧。哎,那你知道这块雷written什么了,老师明白他给他点是吧,Pop name哼,给你打个大叉子啊,P点内自己看去是吧?来,不想再解释了,删掉方括号对不?看你基本功了哎,来刷新测试一波p.name走是吧,读没读读了,最主要的是我知道你读了咋知道?就靠这句话嘛,是不?各位来给它删掉这呢,别说某个了,那你说这里怎么写,变成一个模板字符串对不对?走然后里边这呢,换成到了符画括号,然后谁呢,Problem name是不是得了,各位有没有感。
20:51
就算你这个里面有800个属性我也不怕,我只需要一个get既可以工作,是不好嘞,那你说这个site呢,也是同理的呗,哎,来在这儿呢,Consolo一下,他也会收到target的和problem name,但是他会比别人多收到一个什么呢?
21:08
想想是什么,各位读的时候,同学我直接读就行了,但是这个site各位能多收到一个,就是你修改的那个值,所以说写一个value,那在这呢,我把这些东西给大家输出一下啊,最后呢,同学我在这儿我先不写return吧,先这么写着啊,来刷新一波p.name我得改,改成啥呢?李四瞧着啊,各位走,这是谁呀?AA是谁呀,他给他这是谁呀。哎,直接写了一个name,这谁呀,修改那属性对不对?哎,那这李四呢,就是你改的那个名字呗,那所以说你知道怎么办了呀,各位这块这些东西还收着,那在这儿呢,我就得输出这么一个东西了来奏章模板字符串叫有人读取了,不是读取了是吧?哎,叫做修改了P身上的proper,哎,这个属性,然后呢,补一句话,我要去更新界面了,同学你说第46行代码是不是就体现出来了,响应式啊,你改我就知道,你改的是啥我也知道,然后呢,我去给你更新页面对吧?但是同学有一个事儿啊,你得做了,怎么着呢?就是如果你只写到这,同学那就挺有意思的,你自己瞧瞧啊,这个person身上name是不是张三好,你瞧着啊,各位p.name我让它等于李四。
22:26
那没改呢啊,回车是不是修改了,那你看一下这是不是不变呢?哎,也就是说你得真正啊,得引起原数据身上它所对应的这个proper name的变化才可以明白不?各位啊,它的值呢,当然就得是这个value,这不就得了吗?来看一下效果啊,刷新一波P的长这样啊,那这个person呢?诶也长这样,那么P点内幕如果我想改各位,那么谁就监测到了IU3就监测到了,然后就诶有人修改了内幕属性,我要去更新界面了,对不?各位啊,那回到这呢,数据啊,也是真正的被你改了,OK啊说老师那这就挺好的,嗯,但是在这还有一个问题,你目前写的geter和C只是考虑到了什么,只是考虑到了读取和修改,那我想问一下新增属性和删除属性呢?来,咱们看看新增person有内幕,有AP肯定跟他一样,那么P点性别等于写一个男各位。
23:26
那么P身上加没加上这个难呢?走加上了,那么person身上加没加上呢?也加上了,但是同学还是像咱之前说的,你是加上了,但是我没有捕获到,也就是说同学你读取某个属性的时候get调用,你修改某一个属性的时候调用。但是呢,你删除一个属性的时候,觉不觉得它不掉,它也不掉,如果只停留在这儿,其实你和谁呀是一个意思呢,和这是一个意思,这不就本身也是只能捕获到你读取和修改吗?那删除呢,哎,各位看着牛啊,就牛在这儿,它在这儿呢,又给你提供了一个东西叫做delete property。
24:06
如果你删除了这个P里面的某一个属性,这个东西就会调用啊,他同样会收到这两个东西,就是一,你删除的到底是从谁身上上主是吧?哎,就是从谁身上删除,然后呢,这个是删除的是哪个属性,那你知道这个里面应该怎么做了,各位复制把它拿过来,有人不是修改删除了P身上的这个属性,我要去更新界面了,那你知道接下来要干嘛,你得找到这个塔给真正的去用delete这个关键字删掉target身上的什么东西啊,Proper name,如果你不写这句话,那同学就挺有意思的,你看一下效果啊,Person是不是这样啊?P是不是这样啊?好,各位瞧着啊,我直接delete p.name我是不是想把那名字删掉啊?嗯,走着啊,有人删除了P身上的内幕属性,我要去更新界面了,这FOX一会再说啊同学,我问你delete掉没掉掉了,但是delete里边。
25:06
傻傻的只做了这一件事儿,那这个时候哼,同学删了吗?没删,哎,所以说各位,这玩意儿咋的得解开啊,说老师那刚才怎么删了呢?各位,如果你不写这东西,那他的操作就很直白,你不是删P身上的这个内幕吗?那我就把他身上的name幕啊也删掉,就是说白了,各位,之前我们测试过,就这也不写,就这些东西都不写,我们测没测试过,你对属性的增删改查都能映射到person的身上,是不是我们最开始就验证了,那为什么我们写这些玩意啊,我们想捕获到它的修改,我们想做响应式啊,对不对?各位,哎,OK,所以说在这呢,这句话你得加着,哎51行您得写着,你写不要紧,那你瞧呗,Person批是吗?哎,那接下来呢,Delete delete谁p.name是不删,哎,先不看这false,一会再说回到person里面,诶,删没删,删了P身上删没删,哎,删了你得给力点,你得写呀。哎,那咱说说这false是咋回事呢?哎,那是因为啊,你在这儿没有写返回值,没有返回值那就是unde find unde呢,那就算作甲,诶那如果在这你写这么一个东西,100,那你说100个呗,算是布尔值为真吧。哎,那这回你再看一下同样的代码啊,直接写了delete p name,你看告诉你true为真。
26:25
但是你不能这么写吧,写一个100不low啊,哎,老师明白不low,哎,我这么写,这么写也不太合适,各位你直接写布尔值,谁知道这块能不能删下去呀?哎,那直接告诉大家啊,咱们之前也见过了,就是delete这个关键字去删除一个对象里面属性的时候,也就是说各位粉色框里这表达式啊,它是有值的,能给你一个布尔值,你最好就是把它真实的删除结果呀,给它返回是不?各位是这意思不来刷新一波啊,删掉了p.name哎,是否true person身上的name没了,P上的没了是吧?各位,那也就是说截止到目前,我对属性的这叫啥?这叫读,这叫啥?这叫删啊,那这个呢,这叫什么叫改对吧?那增删改茶你觉得差啥?好像差增吧,是不?各位是不是差点曾,哎说老师那曾得怎么办呢?来咱试试啊,看看直接写曾行不行呢?P点性别,哎,先不写,看看person啥样这。
27:25
看看P啥样,这样P点性别来走着啊,各位变成一个男士呀。呀呀呀,同学,有人修改了P身上的sex属性,我要去更新便面了,哎哟响应师好像办到了,哎哟person身上呵,还真有这这块,哎呦呵,还真有这啥情况,哎,那就说明了一个问题啊各位这个艾不仅仅是你修改某一个属性的时候它调用,你追加的时候它也调用来吧,说的明白一点,各位这个get,那就是有人读取这个P的某个属性时调用,把这一堆复制,那这就得这么说了,有人修改P的某个属性或或什么呢?给P追加什么呢?某个属性十咋的调用,你看这一个set管俩事儿,既管增也管改,那你说这个呢,当然就管删了呗,是不?各位往这一放,有人不是读取叫做删除,同学,这回你。
28:32
体会体会,为啥说人这proxy厉害,他能捕获到你对对象里面任何一个属性的任何一种操作,增删改查全都行是吧,各位。
我来说两句