00:00
好嘞,各位,咱们继续这一小节呢,给大家讲一个全新的配置项,叫做pros,其实我们已经学过很多配置项了,各位你比如说有EL,有data,有comp的watch,诶都是属于配置性,来咱代码上键啊,打开这src,我把刚才写的那个组件呢,给它改造一下,首先名字不叫school了,换个名,我叫这名s tu dnt,啥意思呢?展示学生的信息,然后啊,我改的时候这肯定它得报错,因为你想啊,名字你都换了,这APP这儿还引入死故呢,它肯定是不行的,那这样我先把它关掉,等我把代码全都改完了,咱们再看。来回到这儿啊,首先这个样式啊,我不要了,直接给它删掉,然后这展示的也不是学校的信息,而是学生的信息啊,先展示一个学生的这个姓名吧,啊,还有什么信息呢,比如说性别年龄好写,这块叫做性别,那这块呢叫做年龄,嗯,那这个名字也得改一下sex,那这也得改一下A。
01:00
OK,那这也得改s tu dt那里边这得改成一个人名,比如说叫张三啊,给他删掉,走走,再来一个性别,哎,这块呢,他是男啊,再来一个H啊,让它是18随便写样式不要那就删掉,OK,改造完毕,给这个给它关掉,回到这儿啊,这里边的东西呢,我也精简一下,这h he啊不要了,Button呢不要了啊,这个ref标识啊,我也不打了啊,我就干干净净的使用我这个STDT这个组件,那在这引入的时候就得换这个名字得换,这会也得换啊,这个注释我就不要了,那这些数据呢,同学来给它删掉啊,那这些东西呢,也给它删掉,那不都是刚才讲ref的时候用的嘛,好,干干净净的写完了,那现在应该不报错了,来咱看一下啊,诶,确实来摁住CTRL点一下展示学生的信息了,那我再给他加点东西,让他看起来更好看一点啊,那就是回到我的这个student里面,给他加一个这个啊,同学MSG啊,就是学生的一些其他信息,比如说我是。
02:00
一个上硅谷的学生,诶,给这个给他加上,那在这儿呢,我就得展示一下,我不用H2了,换一个H1大点的是吧,在这儿写一个message OK,回头看一下效果,嗯,我是一个上硅谷的学生,这是我的信息,好,那么借助5U的开发者工具呢,也看一眼控制台,也没啥错误是吧?来走到这儿,这是VM,这是APP,这是student,有自己的数据。好接下来呢,同学,我们得明确一个事儿,就是如果你这个组件被使用了多次是什么样的效果呢?来回到我的代码里,就是在APP里边,同学你使用了多次,啥叫使用多次啊,走走,这叫使用多次是不?哎,他们之间呢,我给你用一个HR做分隔,这块呢,也给他写一个走回头你看各位是不是三次,哎,好,那你要注意的是,这三个东西,它是三个组件实例,也就是说他们是三个VC之间是互不影响的,你比如说各位,我找到第一个student组建的实力对象,我把这年龄。
03:00
啊,给它改成20,各位你看下边这两个是不是不变,哎,之间是独立的,哎,所以说我们之前要把这个student里的这个data写成一个函数,对不?每次你用的时候,哎,咋的,我都是给你调这个data函数,然后再把数据返回给你,那咱之前也聊过了,你只要敢写这种组件标签,你只要一写人家就帮你谬了一个view的component,对不对,各位,哎,也也就是说啊,它是有三个VC存在的,好,那我把这个呢,给它删掉,留一个就够啊来各位,那现在有这么一个问题啊,就是有一天啊,老王啊,相中我这足见了,老王说我也要展示这些信息啊,我要展示的也是我是一个上硅谷的学生,跟你一样,但是我那个学生吧,信息跟你不一样,你那是张三男18,但是我想用的是李四女19跟你这不一样啊,那你可能说那你算了,你用不了我这个,你自己再写个STUDENT2了,完了你在那个里边,你写上叫做李四女19同学,那这就不叫复用了,你说对不?也就是说老王要的结构交互样式跟我。
04:00
这都一样,唯独啥不一样,就是学生的数据不一样,那怎么能让老王也用我的组件,但是老王动态的把数据传进来呢?这回大家体会体会,你说老王直接用,直接用不行啊,哥们儿,你直接再写一个,那你瞧吗?你这是行了,那老王这边不跟你一样了吗?对不?你得让老王把数据从外部带给你的student组件,你写的student老王在这在用是不?各位哎,那怎么传递数据呢?很简单,各位这么传啊,来给这删掉,首先你必须得做一个准备性工作,你这个里边千万不要再写这三个数据了,你只要写了,同学谁也救不了你,你一写这个东西不就敲定死了吗?是不?所以说不要写,直接删掉,说老师把这也删掉吧,这个不用删,对吧?因为人家用我的组件的时候也是需要这句话的,如果说老师他也不需要,那你就删掉吧,对吧?啊,问题是他需要好了写在这儿,其实为啥我非得写这个东西啊,各位想让你和其他传进来的数据一会儿形成一个对比,哎,我就这意思好,OK,各位把这个留着,那你现在只。
05:00
写到这种程度,你放新绝对报错,因为这个数据有这三个数据都没有回到这同学你刷新桥控制台一定报三个错误,123分别说的是什么呀?Name没有,Sex没有,Age没有,OK,来吧,接下来往里传东西,怎么传呢?很简单啊,各位你就找到组件标签,然后在这怎么写name,等于比如说叫做李四,哎说老师这不就是在标签里边写标签属性嘛,那可不嘛,就是在标签里边写标签属性咋的组建标签不是标签啊,哎,好,那这里边咋写性别吗?走写一个啥呢?比如说女啊,再来一个什么呢?年龄,哎,那这怎么写呢?比如写一个18岁,OK吧,各位传没传,传了你说老师这回妥了是不?哎,这边呢,我没有配置这个name sex age,但是这边传了呀,这不就可以了吗?说老师来看效果刷新呀,舒老师这啥情况,你看他没有,但是我传了呀,我传了他咋不用呢,这儿呢,同学我说一下啊,就是不仅这边得传这。
06:00
边传完了之后,同学你在这个组件里边,你还得跟人家说一声传的东西我要用,哎,就有点什么感觉呢?各位,我给你举一个生活中的例子啊,我支付宝给你转100块钱,各位其实呢,是不需要你确认收款的,我给你转直接就跑到你的余额里了,对不对?各位,还有一种方式呢,就是微信转账,各位你体会一下,微我给你转账100块钱,那你那边同学是不是得点确认收款,然后这个钱才跑到你的余额里面,是这意思不?哎在这儿的设计呢,就有点类似于微信的那个转账,你不仅得转给人家,人家那边还得点什么呢?得点确认收款对不对?各位,哎,OK,来,那这边光传不行,这边还得说一声我要用是吧?那怎么说呢?就得借助我给你说的那个全新的配置香了,叫做pro啊,那怎么说呢?先给大家写一个最简单的方式啊,因为这里面是有三种方式的,三种方式都给大家说啊,先写一个最简单的来写一数组,数组里边呢,你这么写啊,你这边传的是不是name sex age。
07:00
好,那你这边啊,也就写name,嗯,再写sex,诶再写谁呢?这个age顺序无所谓啊,不一定非得跟你传递的顺序对上,你比如说各位我就把A值写在这儿,我就把性别写在这儿,它也是可以的,OK同学,这就是属于你确认收款了,你一确认收款,OK回到这儿,你看数据都有了,老师那咋还报错呢,你刷一下嘛,那是一个残留,看李四女18,哎,同学你觉不觉得这样的话可玩性就大了。我是有组件,我有结构,我有样式,我有交互,但是我里边的数据不是我写死的,你用的时候你说是啥就是啥,你比如说我再来一个,这换不叫李四了啊,叫王老五是不?哎,王老五是一位先生,男啊,年龄呢写一个19岁,OK回来看各位你体没体现出来,组建在复用数据是动态的,OK,这多好呀啊说老师OK学会了,诶这里边还有坑,那你听我跟你说一下啊来各位我先把王老五删掉啊,我提出一个需求啊,就是李四这个人呢,真实的年龄啊,确实是18,我传的是18,但是我的要求是你在这儿展示的时候啊,不让李四是18,我想让四呢,比真实年龄大一岁,是19岁,那怎么办?你别这么告诉我,哎呀,说老师不传18,你传个19,各位你这不玩的吗?你这我还问你干嘛呀,我的意思传的就是18,哎,但是这边展示的偏要是19有这种需求啊,数据是这样的,但是展示出来呢,是那个样子的,经过加工的,那怎么办呀?啊其实简单。
08:30
各位在这呢,你写个加一,哎不是减一啊,写个加一这不就得了吗?是吗?各位我我拿到你传进来的东西,然后我在这加个一,这不就可以了吗?是不?哎,那你看一下效果呗,哎呦呵,同学,你这一下子把李四给送走了,你说呢,对吧,这不对呀,哎,这是什么情况呢?咱们就得细细的聊了来各位回来先别加这一,首先我们探讨一个问题,就是我在18行写了这么一个接收东西,收哪儿去了对吧?我是我写了这接收东西呢,收哪儿去了呀,哪帮我存着呢呀啊,我告诉你啊,各位其实呢,是在这个组建的实力对象VC身上存着呢,同学你品啊,你细细的品位,我问你这个MSG,我是不是可以在模板里面用,咱们之前说过一句话,说模板里边可以自动的看到VM身上的属性,但是现在我写的不是VM了,是组建了,那就意味着同学只要student这个组建实例对象VC身上有的东西,模板里边都可以直接使用,对不对?你看我不写这句话。
09:30
各位,那绝对报错来报的是啥?你心里边也明白,Name sexage他绝对不会报这个人找不到的,因为这个人能找到,因为你这么写,最终这个MSG是出现在这个VC身上的,你说对吗?各位哎,说老师,那我看一下呗,那行啊,可以你在data里面输出谁呢?那个this同学,Data里的this是不是VM啊,那咱之前也说过,如果以后学了组建就是组建实力对象了,那这可不VC嘛,好了保存各位你瞧着啊,刷新他报不报错的吧,咱先别管,主要看输出走各位身上没有MSG有哪来的。
10:04
哎,我传进来的,其实是在这儿给他弄出来的,放进这儿的对不对?各位,那之所以人家报错,说那三个东西找不见,也别怪人家,因为在你的这个组建的实力对象身上确实没有name幕h sex,对不好,那一旦我说哎,我要接收了,各位,那这回你看神奇般的你就发现了,在这个VC的身上不仅有这MSG,而且还有这个这个这个对吧?各位,但是你可要知道啊,这个MSG可是你自己配置的data,那这些东西可是外部传进来的数据,靠什么呢?靠pro配置出来的,对不对?各位,所以说你打开下划线data,各位咋的,它还是只有一个MSG啊,说老师那不行啊,那我开发的过程当中,我哪知道谁是外部传进来的,那谁是我自己写的呀,那我东西一多我不就乱了吗?同学,开发者工具啊,打开student呀,各位你瞧啊,这是你配置的数据啊,这是外部传进来的东西,多么的清晰呀,啊好了,咱们接着说刚才那个问题,为什么你那个18加完。
11:04
一不是19,而是181终归是因为啊,你这18传的是一个什么18呀,是一个字符串类型的18,你如果传的是一个number类型的18,那这个问题他就好聊了,你说对吧,各位,哎,回来那同学说老师,那刚才谁传的那个字符串的18呀?哼,你亲手写的,哼,你自己瞧,你怪谁同学,18左边看一眼,18右边看一眼,这双引号这东西是吃干饭的呀,那肯定是你自己亲手写的呀,说老师,那我明白了,就是别写这个引号的,我直接写18,哎老师,这回就好了,回到这儿呢,哎,我就可以加一了,那你自己瞧吧,各位啊,来回来看看,刷新一波走啊,说有错误是吧,那看哪错了呢?说这同学啥意思,你这么写模板都编译不了,OK,同学,你加上引号它就好,你瞧着啊,来回来走18是吧,哎,加上引号走好保存回来,你看加上就可以,所以说同学不是像你想的那样说老师我不写号,你不写引号,哥们儿你把形式给破坏了都是。
12:04
T等于什么,然后这边都得写引号,说老师,那我知道了这个问题就只能在这儿解决了,收的东西说老师,我知道收的肯定是字符串了,改不了了,我这这么写吧,乘以一这啥意思,是不是伴随着一个强制类型转换呀?哎,说老师你看字符串的18乘以一,那乘法,那强制类型一转换,那就变成了字符串的18,我一加一,诶老师,问题解决了是一种解决思路,你也可以这么玩,但是不是最方便的,或者说不是最好的,不是最标准的,最标准的事传过来的就是一个字符的18,那怎么办呢?来听我说各位一个符号就解决,你信不?我在这给你加个冒号,他就解决了。OK,回到这儿,各位是不19是如果你能一瞬间就明白,就证明之前的东西你真的听懂了,而且你练的还不错,朱老师,那我没懂没懂咱就聊聊各位,你说我不写这冒号啥意思,那你得知道冒号是啥意思对不对?各位,其实冒号不就代表V杠半的吗?还记得吧,各位,那我要不写V。
13:04
杠半的,那就很简单,各位我要给他传一个什么A值,值是什么?值是一个字符串的18对吧?各位,但是我要写可就不一样了,我我不再写那个V-B的了啊各位,我直接写冒号,同学,我这么写啥意思呀,这叫动态绑定啊,你这么写的意思来,你听我说,各位,就是我确实想给你传一个age,但是age的值得是运行引号里边的红色的GS表达式执行的结果,然后才去定具体的数据,你琢磨琢磨是不是这么回事,同学,你不加引号,这里边的东西我就跟你说吧,你写啥都是字符串,人家不带给你琢磨,哎,说这东西能不能是一个对象啊或者啥,你比如说各位啊,我在这写这么一个东西,我写一个18加一,你觉得它好像得运算是不是,你你看看它运不运算,同学过来就是18加一,哎,字符串拼接再给你来个一是不,你这些东西不会按照表达式去执行的,但是你加一冒号,哎,各位情况就不一样了,18加一就是表达式,所以说你传过去的是19。
14:04
19再加一回来,啥也别说,20是这意思,不一定要想明白这事儿,OK,所以说我们得怎么写啊,加一冒号,哎,所以说以后看到人家有这种写法,你不要晕啊,说老师那这不就说完了吗?那你想想各位你说如果真的是老王用我这个组件的时候啊,老王粗心大意的就这么写了,那你说最终造成的效果就是很可怕,对不啊,那能不能限制一下呢?就是同学咱说这叫啥?这叫支付的那一方对不对,那这叫啥?我在这写,这是不是叫收款方啊,哎,咱们就管这叫付款方,哎,咱们管这呢叫收款方,那同学最好的一个处理就是收款方在收东西的时候,您别啥都收对不对,符合条件的你再收,不符合条件的呢?那两个处理,要么是不符合条件收,我都不收,要么就是咋的呢,该收收,哎,但是我告诉你一声,你传的东西好像不太对,哎,如果你想限制,你就不能这么写了,各位来你瞧着啊,把这一行呢,我给你注掉诶。
15:04
这块呢,就叫做简单接受,还有个写法,看着也叫props,名不改啊,也叫props,然后它这么写,你瞧着写成一个对象,然后呢,把你接收的每一个东西啊,都写成一组一组的k value,我写name,然后我写一个string,我写着,哎,完了你猜着你觉得我这么写呀,它是什么意思呢?Number,然后呢,Six,那这块也是string。同学你说我这么写啥意思,我这么写的含义就是我确实要收到name age sex,但是我还要对他们的类型进行限制,那你发现我是怎么限制的呀?就是写那些JS里面已经存在着的内置的构造函数,String number同学我问你这些东西是不是都是JS里边内置的构造函数,或者叫做内置的对象,是这意思不?哎,OK,同学,你看我这么一写呀,你瞧刷新这儿呢,确实还是不对,181,但是控制台上各位来,你瞧吗?人说的多明白呀,是吧?哎,这儿我期待的是一个数值类型的Y6。
16:04
18,但是我却得到了一个告他得到了一个什么呢?String类型的value 18啊,这是不对的,同学你看看人家的处理是不该收收,但是你这东西不对,我必须得有责任和义务告诉你一声,这样的话,同学你觉不觉得老王要想用错我这个组件,那就很难了,只要老王往这一瞄,诶老王就知道了,哎呀,咱用的不对了,咋的?诶人那边啊,要的是一个数值类型的回来刷新,这不就对了吗?嗯,说老师,那以后是不是就得用这种方式啊,因为它能限制类型啊同学怎么讲呢?就是说,呃,你接收的时候吧,你去定义这个组件的时候吧,看你你要是说这些东西呢,即便是传错了,也不会出现什么严重的问题,那你就简单接受是吧,哎,或者这么写简单,哎,声明接受啥叫声明,哎,就是我声明一下,我要用name age sex对吧,各位OK好啊,那这呢再写一个注释,诶这块呢,就不是简单接受了,小小注释叫做接收,接收的同时对。
17:04
数据进行类型限制,哎,你体会体会舒老师,这就是最完整的写法了呗,也不是还有一个比这个还要完整的,来我给你写写啊各位,我把这个呢也放在这儿吧,对吧?哎,上下的这么一个注释,我把这写行再给你主调,还有一个写法,你敲诈各位,我写props还是对象,但是这回写的就更高端了啊同学,我觉得都学到框架了吧,大家应该有一定猜测的能力,我先写完了,你猜啊,各位来走内幕,哎,完我这么写啊,瞧着啊,Type type啊,啥意思呢?类型是string。啊,OK,然后我再写这么一个词啊,Qid record啥意思呢?啊,叫做必须的啊,必要的我写一个true,哎,啥意思,就是名字必须得传,这块限制的是名字必须得传,写好注释啊,名字是必传的啊,或者是必须的,或者必要的是必要的,哎,那这个呢,咱就得说类型谁呀,Name幕的类型,那这会儿也写上,哎,叫做name幕是不行必须的,这个呢,是name幕的类型,是字符串,OK啊,那然后再往下写呗,诶每一个都可以这么写,再来一个,比如说age,嗯,然后呢,还得写一个type,那它的类型呢,就是number啊,然后再走,同学那说老师也得限制一下是必要的呗,诶那同学啊,你听我说这个age呢,我这回换一种方式,就是这个age啊,你可传可不传。
18:31
啥叫可传可不传,你传也行,你不传也行,如果你要是不传,我就给你一个默认值,所以说用这个配置项叫做default啊,你要是不传呢,那就别怪我了,我直接让你99岁啊,是不好,那还有什么呢?还有这个性别好走性别呢,同学,哎,我就跟这儿一样,写上一个type啊,是string类型的,对吧?然后那个required啥意思,是必须要传的,在这写一个注释,哎,叫做默认值,所以说同学它这里边一共有三个配置,Type用于配置类型,Required用于配置这个属性是否是必须的啊,Defo呢,就是如果你不传,我给你一个默认值,对吧?各位你听我说,一般情况下来说,这两个人不会同时出现,哪两个人呢?就是required和default同学你体会体会啊,Required,只要一写啥意思,就是你不传不行,你必须得传,那同学你说必须得传的东西,不能不传的东西,我们需要给默认值吗?同学,什么叫默认?默认就是如果。
19:31
那你不说,如果你不传,哎,那我就这样做是不?你就比如说你去注册一个网站,你比如说交友网站,同学交友网站的性别是必填项,你说呢,对吧,你不填这个性别,你没法注册这个交友网站,是这意思不?所以说同学这就不就涉及不到什么性别的默认值了,你不传,你注册不了,还默认什么值呢,对不?各位,所以说32和三十三一般不一起写,因为没有意义,OK,好,哎,那我这么写着,那你瞧一下各位来刷新一波走,嗯,一切都正常,所以说它不报错,但是你看着啊,各位,如果说我把这个内幕我给它删掉,也就是说我不传这个内幕,没传名,各位刷新一波,你没传名,那这块肯定不展示,并且这块他给了你一个警告,同学,Miss的意思是错过了,丢失了一个必要的pro,什么呢?Name同学,我们写的是什么呀?那个配置项叫什么叫props,它提示的叫什么叫prop?那我们就有必要聊聊这个props还有这个prop都是啥意思了。各位,这个prop这个。
20:31
单词直译过来有属性的意思,那你说pros呢,就是属性的复数呗,所以说你体会体会,各位啊,你传的这个叫prop,这个呢也叫prop,你传了一堆prop,那人家得声明接收,于是乎用的就是prop丝这块好理解吧,是吧,各位哎,OK,那咱把这名字呢,还给它好好传着,那如果说你在这儿呢,还是把那年龄啊,给他传成字符串的18了,那你看这儿对吧,还是刚才那个那个报错吧,对吧,给你警告呢,OK,好了,回来,那我们符合标准的给他写一下,那我们给这儿的注释呢,也给你补一下来走,你同学这叫什么呢?来这可不是接收的同时对这个类型进行限制了,那咱得这么说了,接收的同时对数据进行类型限制,然后再加上进行什么呢?叫做默认值的指定,然后再加上什么呢?这个必要性的限制,对不对,哎来这块走来个冒号,首先你对类型限制了,默认值你也指定了,还有就是什么呢?有有有没有这个必要性的限制,OK,哎,所以说同学这是最完。
21:31
样的一个写法开发当中啊,同学一般来说这个其实写的多,哎,就是说我们不进行什么特别严格的校验,你传过来用就可以了,换句话说,同学那人的年龄明显181了,不对呀,是吧,各位,哎,如果说你想把组件封装的完善一点,你比如说啊各位跟钱相关的组件,你最好在这儿一五一十的全都给它配置好是这意思不好,我们再说另外一个问题,各位就是说如果你要是瞎声明怎么办?来我把这个呢给它注掉,同学我们很少去写这个超级完整的啊,咱就说这儿如果我瞎声明怎么办?什么叫瞎声明,来在这儿呢,我说呀,我还想要这个人的电话,嗯,手机号,同学你这就属于瞎声明是吧?啊你看你这边传什么了呢?Name age,还有这个sex我传手机号了吗?没有啊,说老师那没准也能用,用啥呀,各位你看着啊,刷新一波啊,是他没报啥错误,来你打开啊age啊,MSG自有的那个name,还有性别是不是都有同学你打开phone。
22:31
是说老师这不有吗?有你看值啊,Unde find啥意思,你这边没传,所以说声明的时候不要瞎声明,这里边还有一个细节上的问题,我们就都给大家讲完了,还有一个什么问题呢?就是接收到的pros是不允许改的,哎,说老师这是什么意思呀,那你看一下呗,各位刷新一波,打开VC,这里边同学我点开的东西,我问你是不是都是来自于外部传进来的,那么就这18里四女你不能改,不允许你改,说老师这message可以改,就是这些东西外部传进来的不能改,说老师我不信,我就想改,可以啊,来咱们试试啊,写议按钮啊,叫做尝试修改收到的年龄,哎,你去看效果啊,在这呢,给他来一个点击事件click,然后写上啊叫做修改,就是up update什么呢?Age尝试着修改一下,好了,复制各位,那这块我是不是得给他写一个那个方法呀,啊,那我写在这儿吧,各位在这写啊MYS来走,你叫做这个吧,好里边。
23:32
吧,很简单,就是把年龄给它改掉,同学,我怎么碰到年龄,那你得整明白年龄在哪呢是吧?年龄在哪呢?在VC身上z.H等于比如说写一个22岁,同学你看看效果啊,回来刷新一上来是正常的,但是当你去改年龄的时候,我给你放大一点来走你各位报错了是不啊,他说你看这,他说请你尽可能的避免去修改一个属性值传入的,不要这样做啊,不允许你改,说老师那我改起不起作用呢,那你自己看吧,各位你说把它改成22,或者你这样写,你给它改成99来刷新,那边是不是19来走你啊能改能有效果,但是他说你尽可能不要去改,为什么呢?会引起view产生一些奇奇怪怪的问题,OK,各位啊,所以说有些人呢,就是不关注控制台功能是实现了咔咔咔咔写,反正也实现了,但是呢,这有警告,这就不太好,但是话又说回来了,同学,我的业务需求就是必须得改,那怎么办?
24:27
也就是说老王确实用了我的组件,李四女19他都传进来了,但是业务需求就是这有一按钮,一点年龄就得奔奔增长,那怎么办?说老师要不挺着吧啊,不看控制台,我装作我看不见,反正这也变了,那这不行啊,哎,如果硬写呀,同学你就得这么去处理了,也就说有这种场景的是不是你又不希望你去改,但是业务有这需求啊,哎,这么写来,各位走,你在这个data里啊,你重新给他起一个名字啊,不要再叫内了,同学会打架的,说老师我就想叫name,那你看着啊,你在这写一张三同学你这就有意思了啊,我问你这个data里面你写没写name,写了你这声没声明接收,你要用一个name幕声明接收了,那我问你最终这两个东西咋的,是不是都要跑到VC身上去?
25:12
是吧?这没毛病吧?各位,我收到的东西得在VC身上,我自己写的数据得在VC身上是吧?各位,那你说最终的效果就是打架了啊,来到这儿刷新一波,同学,你看这报错说有一个数据属性内幕已经存在了,并且被定义为了一个pros,而且你看最终展示的是什么?李四,也就是说各位你在这儿再写张三已经不奏效了,并且打架了,以外部传进来的为主,是不是?哎,所以说同学有没有这种感觉啊,优先级的话,如果说data里的东西和pro里的东西打架了,优先级谁更高?你看看李四,你告诉我谁的优先级更高,一定是这儿对吧?各位,哎,那你就可以,哎利用这个东西去这么写,各位,你瞧着我来一个my name啥意思,我的名字,那名字来自于哪儿呢?瞧着我这么写this.name你好好品味一下各位啊,我配置数据了,叫my name啊,或者不叫name,咱改的不是age吗?来给它换一个啊,叫做age GE啊,这会A呢,给它大写,那同理各位。
26:13
你这块来我给你删掉,你同理这块肯定也不能叫age吗?对吗?各位你这叫age,那你说这边有age行了,我不掩饰了啊,这走叫my age,那来自于哪儿呢?来我这么写,各位品位啊,我配置的数据叫my age,那值呢,this.age值,那this身上的age打哪来的呢?打这来的,哎,所以说同学它是有一个顺序上的问题的,也就是说你pro这边的东西呢,是优先被接收的,优先被放在VC上的,所以说同学在这儿你才能读这个z.age你觉得呢,如果说人家同学先扫描这对吧,人家先把这个data准备好,那在这绝对他得不到这个age了,同学你用心体会体会一个顺序上的问题,你说是不?哎,所以说同学pros的优先级更高,也就是说它的内部呢,其实它在优先准备这些东西,随后再给你初始化啥,你真正配置的数据的OK,哎,同学,那你看我这么写,同学我就配置了一个my age,那我读的时候读谁读读这age了,读my age是不啊,那你只能这么折腾一下啊,说老师那以后我想改。
27:13
呢,我尝试修改这年龄,那咋办呀,同学好好写呀,别改age了,因为age是你收过来的,你说你改谁my age这是不是就得了,你是不是想让他加加呀,可以啊,在这写个加加不就行了吗?哎,体会体会各位先准备好这儿,这是它内部的一个工作细节,先准备好这随后再给你配置数据,那所以说这儿的A肯定是已经准备完了,已经可用了是不来看效果吧,刷新各位没问题吧,来点奔奔奔同学变没变变了,我是不是一直在修改外部传进来的数据啊,但是他也没报错,对不对?各位,哎,好了再说一个问题,各位,就是你传的时候吧,不是说什么东西你都能传,啥意思呢?你比如说在这同学我传了name传了sex传了A说老师我想传个K,同学,你传不了这个K呢,咱这么说吧,各位,你写个123,同学你就算传了,你就算在这儿,哎说我要用咔,你就写了个K对吧,你看看他什么后果吧,刷新他说啥不好意思,Key已经被我征用。
28:13
啊,你不能应用在你的组件上,作为pros去接收了,意思就是同学这个key啊,人家是给那个节点做一个标记,知道不,内部那个什么地步算法人家在用是不?所以说K你就别想了,说老师那我就想写不行,各位这就没什么解决办法了,老师那我123想传过去,哥们你不能随便换个X啥的给他传过去,对不对啊同理的还有谁呢?RF也不行是不,我说老师我ref我写个哈哈,不行呢,人把这东西当成什么呢?你给节点打标识是不?各位啊,哪怕你叫REF2它也行啊是不?各位,诶好了,那把这儿呢,诶给它删掉,刚才还有一个东西我没验证哪没验证呢,这儿呢,各位来,我把这个呢给你注掉这个key啊,我就删掉了,我只是给你演示这问题对吧,没那么写的来哪个问题呢?就是这儿,我不是说有默认值吗?好像没有带着大家去验证对吧?来同学写好了,我要不传年龄,年龄是多少,99,好,接下来我不传,我把年龄给他删掉,我没传吧,好回来刷新一波,各位多少啊说老师咋是100,你忘了吗?你在这儿是不是写了一个那个加一呀,OK,那你想让它变。
29:13
那这不就变了吗?是吧,各位,哎,OK,好了,那来咱总结一波吧,行吧,各位,回到这儿,我把这年龄啊还好好传着,来同学总结一波,在这儿笔记已经给你写好了,叫做配置项props来打开同学功能是什么呀?这个props让组件接收外部传进来的数据,哎,外部体现一下啊,外部然后怎么传数据呢?直接在组件标签里面写属性就可以了,那怎么接收呢?有三种,第一种就是只接收,第二种就是接收的同时限制类型,对吧?当然这个名字吧,叫number不太合适,嗯,叫string比较合适。好,那再往下第三种方式就是限制类型啊,限制必要性,而且呢,还得指定默认值,是不?你不传我就以DEF为主啊,那我说了required,如果为true,那意思就是必须得传,那如果为false呢,就是不是必须的,你可以不传,对,不好读,这同学,Props是只读的,没有底层会监测你对props的修改,说白了,人在那看着你呢,你不能变啊,不能去改,如果进行了修改,就会发出警告。
30:13
若业务需求确实需要修改,那么请复制一份pro内容到data中一份,然后去修改data中的数据,OK,哎,好嘞,各位,那么这一小节呢,我们。
我来说两句