00:00
大家好,我是学习园地的特约讲师高若峰,上节课咱们看到了,如果我们想改变v exx里边的这个状态,那么我们通过这个路径去去修改,比如说分发actions,然后提交到这里边去修改这个状态,那这个呢,我们是需要异步请求服务器中的数据的时候,我们才用到它,如果不用它,它了之后我们跳过它可以直接com,嗯,Commit提交到这里边,通过呃,Mus这个我们来修改状态,也就是官方给我们的建议是不直接修改状态,不在这里边直接修改状态,这个不能说是错误的,但是不推荐的做法,那唯一的修改状态的途径是通过mutations来修改,那前面咱们也见过了这样的一个使用情况,但是呢,咱们传递的时候呢,还没有传递参数,那这里这节课呢,咱们就呃把这个知识点讲完,然后咱们一个知识点一个知识点的去学习,那先看它,它还需要一个参数的传递。你比如说。我们现在还是改这个值。嗯,还是改这里边的,找到这里边还是改这个状态,比如说DM对吧,DM咱们不就是通过有去改的吗?一个添加对吧,一个减减一个加加对吧,是这样,那我这里边再声明,假如说嗯,咱先不写这个,咱先在后里边去修改的时候,去修改的时候给你拿过来。
01:18
我这块再加上一个,你看使用它对吧,拿过来,然后呢,我们这块怎么着使用它修改状态带。一个参数的带一个参数,你看使用它带一个参数是这块啊,然后呢,那我们调用的方法这块,我们就调用一个什么调用二这块呢,我们也调用二换了一个方法那。这块我们需要在下边,这是原来的这样的一个情况,我们复制一下,多了一个什么,有把原来记录给你保留啊,不然的话,你在原来上面修改就可以,正好改成二,正好改成二。然后这块我们加上。使用带。一个参数的参数的,也就是我们这里边在加加减减的时候,比如说加加减减,我想的是乘,呃,每次加加减减的时候都是什么啊,都加等于五或者加等于二,那我们声明一个变量,你看L。
02:13
LTLT啊,声明一个变量light,你比如说C等于二,我把这个参数传过去,那减减的时候呢,我们也让它二。对吧,当然你可以在这里边声明参数在调用的时候全过来了,我就因为咱们想讲的是在这里边提交的时候带参数,对吧?那这块提交的时候原来是ad和这个,那这里边又得需要两个方法了,那我们提交到二这个,提交到这里边的二这块,然后呢,我们把参数第二个参数cot放到这来,这块cot放到这来,这样的话我们就带参数过去的,带参数过去的你看。通过状态这个全局属性提交到mutations mutations里边就得声明这两个方法,并且接收参数,那我们再回到这来,那我们。来做这两个方法。你看啊,就得是一个二这块也是二仅仅加减二,那后边第二个参数cot,我们就是接收的参数,第一个参数会系统自动里边把state就是这个状态给我们传进来,那第二个呢,我们声明一个参数就接收我们这个里边了,你啊。
03:17
嗯,在。这个后里边你看提交这上面不一样的是到这里边传进来。在我们的状态管理里边,第一个参数永远是我们的,相当于把我们上面这个状态给我们传进来。给我们传进来,那就说他怎么不用什么这啊什么什么状态管理啊,直接那么去管理,干嘛要传参数啊,这是它内部的一个机制,我就不管了,你就记得语法规则就是第一个参数,它是将整个这个状态给我们怎么着放进来的,放进来的,所以呢,我们参数我们就可以什么减等于cog。Con就可以了,当然我们这也可以看一下它调过来的参数cont.rog答一下,然后这块我们cot也是加等于cont,这样呢,我们加等于就12了,对不对?然后这块我们也是cot点化OT可以看一下传过来这个参数。
04:09
那我们F12看一下。这个我们得了。啊,看空这些,别的咱不看。因为现在用VE这个DV它是看不到的,对不对,本来是用它看大不,现在看不到的,你看带有一个参数的,我现在加加。加的时候。你看二传过去了,对吧,这块是加等于。少写了一个就写个加户型对吧?来我们再刷新一下。然后带一个参数的,你看是不是每次加一个是二对吧,468都是加等于22双倍的,上面这个变化的时候是一个一个变化,上面这也是可以用的,因为上面用的是没就是加一对不对,这个二是加等于二。每次都是呃加等于二这样跑过来,那他这不很简单吗?我用这么理解对不对,那如果我带多个参数,两个以上的参数,我们怎么办呢?我们用同样的办法试一下啊,你比如说。
05:03
在后面这块,我们这块再写一个。啊。带两正好就拿过来。两个参数就就代表多个参数,三个参数型号在多个参数,多个参数的,那我这块调用三,这块要用三。63然后呢,我下面这个方法你看啊,这是带一个参数的,我再复制一下C。逗号。然后这块写上三。三来。多个参数的,多个参数的,然后这里边我再声明一个参数,比如说l nu。你看Le等于一吧,这样的话就让两个数相加,然后这块再来一个Le um等于一。你看就随便加几个参数,然后我正好再加一个nu代表,两个参数代表。
06:01
N um增加对吧,那这个时候我们到这里边最高,这你看我们存参数传的是两个参数对不对,那传一个参数你不一定存整,你存对象传什么都可以。对吧,存数组传对象都可以啊,那如果我们需要两个参数,有的时候我们写方法肯定是需要多个参数啊,那我们这块。过来。啊,从这开始对吧。接收。接收多个参数,上面是接收一个参数,接收一个参数,参数可以是呃,任意类型吧。也成比喻,那这块我们再接收一个,你看拉福nu,然后这块我们再接收一个nu,你看啊。那我们这块加等于就是打印一下啊。加上。看看文本号,再加上N,那打印这两个参数,那同样我在这块。
07:00
一打一这两个参数。啊。嗯,你把那两个参数可能有一个错误,但是没有提示是A第二啊重复了,这会我们改成什么三。这块改成三,我们在调用的时候,看我们是不是改的是三,对吧,这还是二,这块我们得调什么三。的调用好吗?三才可以啊。现在我们看一下,如果可以的话,那我们这块就可以让它加,等于这块加上nu我们括号。如果乘以这么写的话,也是加等于这两数的和加上nu括号。啊。我们试一下,看可不可以。那有多个参数了,加你看na。为什么na呢?你看什么?第一个二了,但是后边的没有定义。没有定义什么意思呢?啊没有定,为什么后边这个参数没有定义。
08:00
你看一下啊,第一个是可以的了,加等于它这没有定义了,那我们就直接先打印一下Nu.ROOG看这边啊,直接打印Nu.rog。来,我们刷新一下。嗯,看一下这块,通过这个。都是什么?Na,对吧,假如说我们下边你看都是安比范的,没有定语证明,我们写第二参数,明明我们在这块已经传过来了其他参数了,为什么它没有传过来。难道不能传第二了吗?来看下这块。因为它为了让我们使用方便,不让我们在这里边声明太多的参数,就让我们声明两个参数,那第一个参数就是类状态管理,那第二个参数就是什么我们想要传的值,如果想要传多个值的话,那我们把它的建议是声明成一个对象的。然后把它传过来。也就是我们在。呃,这个里边你看啊,我们现在传的不是这么什么两个参数了,我们声明一个你看啊。
09:03
这里边多个参数这种方式它不建议我都没用,假如说我想用两个参数的话,身为一个RT,身为一个参数PRAM,它应该叫负载PYD,这个就是它第二参数名称就是附带过去的。提交这个附带过去的,它这个应该就是这个附带过去的一个意思啊,你当然叫什么名字都可以啊,我们声明一个对象,比如说你叫house就行,然后这里边我们证明的一个时候,比如说cont冒号等于二,然后呢在nu等于一这样。这个复制过来,然后这两个也不需要了,当然有多个参数都可以在这个对象里去算,然后我们存这个名,当然你这个变量名叫什么都行啊,咱说这个参数。他习惯上叫做什么。嗯,就是附带过去,相当于附件,类似于那种感觉,对不对,提交我们这个里边把这个带过去,那它就是一个对象类型,那在我们这块接收的时候,如果多个参数。如果多个参数接收的时候,你看这块我们也不这么去写了,直接PY,呃,Payload对吧,当然你这只是一个声明的一个参数名对吧,这里边儿这些我们都不用了。
10:10
这省打乱,我们这里都不用了,因为它就像接受一个参数,什么类型都能存yad这样,然后我们这里边你看两个数相加,就是什么payyad.student对吧,它是一个对象类型,什么加上什么payload点这个那同样。这块也是一样的,那我们加点也好,拼接也好,咱们看一下PYd.OG来一下,这块我们也来一下。呃,Cou,呃,是payd.rog。你看如果多个参数的话,通过对象来传递。来我们看一下啊,这个是。嗯。带一个参数的,多个参数的,你看一下加三得六,你看下边对象是不是都是这个减减。也都是一样的,可以这么去算,那官方的也是给我们这么建议的,你看。
11:00
这个呃,Mutations这个我OK,我们翻译成中文,大家能直观看一下啊,如果英文好,最好看英文翻译的,因为咱们是直接用浏览器翻译的,翻译的不是那么太好,那这块讲的是单纯单纯的一个状态管理对不对?提交如果带一个参数的字母存,比如存十对吧就可以了,你看第二参数它是也这么声明的,都在A上,大多数情况下叫有效负荷,呃,有效载荷对吧,应该是一个对象,以便它可以包含多个字段,并且记录突变也将。啊,就把它翻译的这个不通俗,你看把它变成一个对象,然后我们使用的时候是不是对象里边什么东西就可以了,提交的时候我们怎么做。那还可以有另外一种提交方式,你看他可以这么去提交。提交的时候指定类型,然后提交的方法,然后后边呢,带的数据,这是带一个数据,如果带多个数据的话,你把后边这个也改成对象就行了,这种方法反正用的也不多,也就比如说我再写一个在后面这里边,比如说再有一个,嗯,AB4它可以这样去写啊。啊,ADB。
12:01
不是在这里边。在。后面这里的。比如这块吧,我们再来一个就给大家运行了,直接看一下它的多少手册里都有写,比如说四方法,假设调用对方法的时候,我们可以怎么办呢?我们可以在这块。加一个本身是一个对象,把它变成一个对象,这样然后呢,类型这块,类型我们是提交的那个,呃,方法面你看。是一个字符串就行,你比如说把这个。这个里边的方法名,如我们变成了一个类似于类名,对吧,假如说这里边有一个方法叫做呃,SUB4的方法,那相当于直接提交到mutations里边这个方法,然后呢,后边带的参数,比如说pay。这样。假如说呃,这里边是load,那都是load的话,那我直接这样Palo就完了,对吧,因为值和变量是一样的嘛,那我直接这样传过去,所以那边接收的时候也是一样的。要这个。那四,那我这个方法SUB4。
13:02
把上面这个SUB3改成SUB4。仅仅咱们只写了一个这个是吧。拿上来刷新一下。嗯。带有多个参数的。这个是对象里边的还是一个对象啊,这个用的时候,你看他接收的不是说直接的一个对象,第一个没问题,但是后边接收的时候。在这里边啊,它对象里边还是一个还是一个对象。你看这块接收的打印,它整个类型是这个,然后再访问里边这个类型,然后里边还是一个对象对吧。所以我们这里边调用的方法的时候,就是在减减。嗯,这个方法里边啊,我们类型这块的一个方法。看我们这块啊,这个咱只改了这个对不对,打印这个对象里边的还得打一下它里边,因为咱声明这个变量也是这个名称了,KYRO.a。
14:04
来,我们减减带有多个参数,减减。参数名称还是有问题,那我这块嗯改一下,呃,纸质改的不行,这块还得改一下PA。这块换一个换一个名称,不然的话你会误解这块,比如说就叫个P。p.pay RO正好我们也把它换成P,接收的时候是这样,那我们正好打印的就是一个P。它里面还有一个这个名称。来,你再刷新点。没有必要这么麻烦,你用的时候。你看负三负六加间接就可以了,你是他给我们封装一层,里边有个固定的名称,就是这个固定名称,如果你用这种类型来提交的话,就这种方式了,可这个另外呢,为了防止这里边的变量名,比如说这里边我们起的名字对吧,和我们这里边。应用的时候用的名字,假如说名字写很长的话,记不住对吧,他也建议你把这个名字提取成成一个常量,提取一常量,但是我觉得没的必要啊,更麻烦提取一个常量,这样的话,我们在使调用的时候和使用的时候都用这一个常量就可以了,你看在常量外层加一个这个也是得调用方法加个中号。
15:12
里边写常常命名,比如说这方法名叫AB对吧,然后你声明到这个文件里边去,没有那必要声明到这个文件里边去,然后呢,我们导入这个方法名,在这块调用就可以了。那我们在使用的时候也是家具调用就行了。大概这个提交方法就这么多,唯一要大家知道就是如何传参数,如何存一个参数,如何存多个参数,对吧?因为什么?因为我们在使用这个状态管理的时候,我们muts这个是唯一一个途径来管理状态的,修改状态。所以呢,这里边儿的方法怎么算参数。虽然我们第二个参数,它会给我们变成一个对象,对吧,能传参数,但是我们也可以意味着我们也可以传多个,也是没问题的,传一个那该传什么传什么,如果传多个,传个对象就行了,也说它限制我们只传一个,但是能传任何类型,那你就知道该怎么做了,好,谢谢大家,这节课我们就讲。
我来说两句