00:00
大家好,我是学习园地的特约导师高洛峰,上节课咱们学了action,也就是如果你需要异步请求服务器的话,那么我们不在呃,Mus里边写,而是在action里边去请求呃接口,然后呢去处理数据,那所有改变状态唯一的入口就是通过啊我们来完成,那我们再来看一下。咱们在学OS里边有五大核心概念,那咱们学过了这个get us actions,那还剩一个models这个模块,这也是咱们最后的一个知识点,那什么时候咱们会用models这个模块,咱们说了咱们现在的VS它是单一状态数,什么是单一状态数呢?就只允许我们有一个state的数,一个根不能有多个,那如果随着我们的业务量越来越复杂。那比如效果非常的棒,我们在这个一个里面,也就是如果我们在这个里面你看啊。我们所有的假如说状态有几百个变量,当然不会有那么多,随着项目用大越来越大,也不是不可能的啊,咱比如说就几十个,那所有的get,呃,Muts啊,这里边的方法,你看咱们现在做实验都写了这么多方法,对吧,你看这么多方法,那就会把这个带来什么文件很难维护。
01:10
那另外呢,它又是单一状态数,也就是只能有这样的一个结构,那不能够我们创建,不能够创建多个,它只能创建这一个。所以呢,这叫单一状态数。那么。我们如何来维护这样的一个文件?当我们项目越来越大的时候,编写的方法越来越多,那我们就需要使用模块的概念。把我们这个划分成多个模块。划分成多个模块,怎么划分多个模块,你看一下。这里面我们在这个单一状态数,也就是这个,咱们说全局这个里面,你看除了有get有MU,有action对吧,那是不是还有一个model。这个模块,那在这里边儿呢,我们它也是一个阶层格式,我们就可以定义多个模块,比如说我们定义,诶定义一个,假如说跟所有用户相关的状态,那我们都放在用户模块里边,我们user冒号用户模块里面,那和所有的和所有的文章。
02:06
相关的我们都放在文章这里边,文章这里面都能去划分和所有的,假如说呃,购物车CRT,那我们都放在这个里面。和所有的,比如说商品相关的,商品相关的gods,那我们都放在这里面就可以了,就将我们划分多个模块,划分多模块,那每一个模块里边都有什么s sta都有这个。那每一个里边又都有什么,又都有。又都有get,那每一个里面又都有什么mutations,那每一个里边又都可以有action as。是这样的,这样的话我们就可以将这个状态,你看跟用户相关的状态保存在这里边,跟文章相关的状态保存在这里边,跟购物车相关保存这里边,你划分多少个模块都行,是怎么划分的,那如果我们这里边都在这里边写这个文件是不是太长了,所以呢,比如说跟用户模块相关的,那我们可以把它单独提出来。
03:02
单独提出来在哪呢?比如说我们在上面。在上面去写,比如说这里边写上,嗯,U是ST post user等于。放在这里面。但是这个重复了。你看这样的话,我们跟用户相关的就在这里边了,那同样我们可以把其他的提出来,那在这里边。我们就写的什么,写的是user对吧,如果两个是一样的,咱们可不可以变成一个呀,简写呀,对吧,那假如说把文章也提出来,那我们是不是也可以简写啊,这样把购物车也提出来就可以,这样把商品也提出来就可以这样去想对不对,那这块就可以放到你可以帮你可以放到一行了。有个简单的写,这样的话就相当于我们在一个大模块里边包含这么多模块,这么多模块,当然那你这里边也得CNST,你得建这个,比如at对不对。建这个等于对线,然后cost建一个GT等于,然后我们在ST再建一个是GDS等于,当然你根据你项目的情况你去划分,那这些呢,就相当于公共部分在这里边原原封不动的对吧。
04:16
这些,然后我们划分出这么多模块,就不写在写在一起了,写在一起就太乱了。来我们看一下,在这放在这里边,然后每一个里边都可以加。这么多东西,然我就写一个就可以了,其他都是类似的,其他都是类似的,我就写一个。那这里边儿来。嗯,这个一会儿再划分出去吧。这放在这块,那划分出在模块里边,它需要有一个呃,写在函数里边,就像我们单页面里边,如果写内的话,是不是把它放到一个返回的一个函数里边,对吧?一个方法里边,所以呢,我们在这里边,我们需要把它划分到一个函数里边,用一个回到函数,那后边返回的是一个阶层对象,返回阶对象我们外边一定要怎么着,要加上括号才可以,对吧,这样的话写在这里边,比如说这个用户,我们里边起一个名字叫做假如说R。
05:08
这样的一个名字,当然了,你还可以里面还有一个其他变量,比如说slogan slogan,这里边咱们就是ABC吧,随便写两个。你写什么都行,跟我们下边写状态一样的,那里边你可以放对象,放数据什么都可以,因为就这里边就是一个阶层的格式吗,跟我们在这里边使用的是什么是一样的。是一样的,只不过这个直接放大块里边,我们上面直接放到什么,放到函数里边,放到函数里面那一样,那我想访问这里边的名字的时候,这个模块里这个名字的时候,你看我们注册的杰森注册的模块名字是user对吧,那我们在这里边儿没有名字,这里边是用这个对不对,那我们假如说想访问的话。我们在这里边。嗯,咱们还在这个关于页面里边吧,在哪个里面都可以啊,只读这个页面,因为后面咱们做的太多了,有点乱了,对不对,那就在这个里面。
06:01
这里面这里边如果我直接想访问模块里边的,呃状态,你看这块访问的是。啊,咱们来一个he模块。模块打牌。我。块中的哪个模块,User模块中的name,那我们怎么访问呢?这一下你看啊,也是用差值或者用什么都可以你使用。包括TY也是用这个ST。如果直接写ST。如果直接写sat,那么相当于访问的就是我们这里边全局的这个部分,里边有购物车,有d nu,有nu对吧,就是比如说点nu,那我们直接访问那个你看是零是没问题的,但是如果我直接访问内,它也会在这个全局里边去访问内,你看有吗?没有显示出来对吧?那访问内容怎么办呢?我们得在这块加上一个模块名。
07:01
你看RK就出来了,那我都说了,为什么不在这个前面加它,相当于把模块模块加到这个state里边,也就是相当于。在这块啊,是相当于把我们上面的这个模块。模块里边的data,这个里边data相当于给我们放到这个里边,所以得是先访问它,再访问user,也就相当于把我们的user是这样放的,放到这里面来。他会相当于把我们拷到这里边儿来,放到这里边来,是这个意思。所以我们访问的是user。所以呢,你就这么理解,加载模块,划分这块绑定模块,就相当于把这个模块绑定到这个位置。所以我们用的时候别忘了不是user.state而是state.user点内这么去访问模块的那种内容。那知道我们怎么访问模块的内容了,那模块里边的其他方法怎么访问呢?你看其实是一样的,你看我们这里边有get,有musicians,有action对吧,那我们在这个里面也可以有更多。
08:03
对吧,是不是也可以动作,比如说面对改这个,那我们所有的修改改值是不是都需要在这里面去改啊,比如说我们现在在这里边设置name设置内这样的一个方法。那默认第一个参数肯定谁呀,STTT,那他修改的就是这里边的这个,就把这个state当前那个state给我们拿过来,当前那给我拿过来啊设置名字,那设置名字,名字内容是什么,那后边可可以来一个P,是不是把参数都传进来啊对吧,多个参数我们也可以用这个,把它当成一个对象,所有东西都传过来,对吧?所以呢,它这里边支持这一个名字。那我们假如说用户在这传值的时候,比如说。改名字调用这个方法,那我们这里边让state点行吧,Name等于传过来的PYP是这样,那我他说,那如果我在这个里边想改什么,想改这个里边的名字呢。想改这里边的name呢,他说那你改这里边的,你调这里边方法不就完了,对不对。
09:04
那现在我这块改变通过这个设置名字,那我这块下边我加一个按钮吧。进行。下面。来一个H2。在这块加一个B,加一个按钮改名字,你看原来默认是。啊,默认这个,那我们现在想改名字这块有一个按钮。这样写错位的放在这个。你拿过来放到这好改上面那个名字吧,然后我们这块加一个CSKCSK点击的时候要用这里边的c name改名字的一个方法。Name,那这个改名字的方法,那我们就在哪啊,在这里边是不是我们得做一个方法叫c name对吧?Name,然后我们在这里边调用this里边的拉s to里边的,你看因为不是调action,所以不使用这分发的,直接修M,那就说在这里边调用是不是得调用优模块里边的那个S内膜,你看我们这个是不是写在。
10:07
这个优色模块里边了,有个set set STEM,那我们一样这块地跟我们访问属性的时候,跟我们访问属性的时候是不是得一样在上边。找到UC不用,它只有状态这块,是放到我们相当于全群的状态里边,其他的方法。和我们提交的都是一样的,比如说在内直接找他会所有的模块去搜索,先会搜索谁啊,先会搜索我们这里边儿的。我们这里边在这里边搜索music里边有没有set name,你看这里边有没有在内没有对吧,如果有的话就会调到这里边,那这里没有的话,他就会找绑定的模块,那就会找到这这个方法,然后传值来我们试一下。啊在内,然后呢,我们需要提一个参数,那咱们用的是制定一个字符串,比如说学学习原地。现在我们改名字,你看。
11:00
这个改名字下边会变啊,你看学学你是不是就改了,所以呢,方法这里边。不用通过那个模块去找,只要名字不重,不搜索,他会按照这个顺序去给我们去去找,所以呢,这个名字是不能重名的,如果这里边也有对吧,这里边儿也有,他就不知道找谁了,对吧,你比如说这里边我再做一个。来做一个,嗯。这里边那些从位置啊,这里边site name来做一个方法sta对不对,然后PLA,那这里边它肯定找的是state这边比如说U对吧,等于plaad对吧,是这样的。那现在假如说我想改名字。嗯。你看先改名字,你看这个学宣帝要用的是这里边的这个,对吧,他们先到这里边去找,找不着再找这个,你看这里边学帝这个N是不是也变成了学宣帝了,对不对,相当于两个都执行了,是不是两个都执行了,所以有相同的名字的时候,两个都会执行,所以尽量别起一样的名字。
12:11
你看这个N的地方也变成了学对吧。所以呢,别起别起上相同的名字,那如果假设名字非得命名相同的名字怎么样,你可以用那个命名空间,命名空间外层,我们再起一个。在这里边再起一个秘密空间,你就不说,那那样的话,本来这个逻辑都不复杂的了,再加秘密空间就更复杂了,那就不说了,你可以在外层。这块再加一层对象,然后起个名字,然后我们访问的时候还不结构那种命令空间的去访问就可以啊。手册里边有,你可以按手册里的方法去实现一下。嗯,但是呢,我们只要是你不起样的名字就没关系,这里边名字相同是没关系的,因为这个名字和那个名字它相当于多了一层,对吧,是没问题的。那这是,呃这块,那我们这里边是不是还有个啊。对吧,咱说什么get get是不是就相当于计算属性啊,就是计算属性对不对,那比如说我们想用这个名字出现一个全名,那我们就来一个,比如说FUL,让这个名字和slogan相加的这样的一个全名给我们显示出来名字加slogan的。
13:13
那我们get这样直接这么写name,那get里边,这里边我们需要一个什么,我们需要一个参数,这个参数呢,也是sta对吧,那默认这里边,当然了,如果你让这个代表的是全局的那个,那同样调用全局的get对不对,这个get尽量来处理的就是我们本身的这个。尽量处理我们本身,这就可以了。来我们这里边要返回全名,让它里边内连接上sta里边的这slogan。Slogan连上这两个就可以了,这不有跟ABC吗?那么我们现在访问一下这里边get。这样的话,名字也跟下边其他的该里边也有相同的相同的名字,那我们在用的时候也是一样的,留在这块,在下边按钮改名字的地方,改名字这个下边。
14:04
对吧,我们加一个你看。访问这里边儿的。Get g,呃,Ets get里边有个full全名name。你看是不是KABC就出来了,对吧,是一样的。这样呢,通过get计算属性这里边,那我这里边也改名字,你看学学地这个名字ABC不是不是都出来了,所以就get是这样,那么我们前边学过一个get,它也有第二个参数。这个当复习了,你看我们在这个里面,那该子里边是不是还有第二参数,比如说我们这里面。用上。嗯。记括号。这是全名二。前零二。那就全面二的时候,我想用到这个计算属性,计算完的结果再给我们这里边再拼接一下,再拼接一下,那这里边是不是就有一个g get,对吧,因为这个变的名字叫什么无所谓对不对,那这个get就代表我们整个的这个get。
15:08
就代表我们整个的这个,所以呢,在这里边我们就可以返回什么呢,返回。这个GS gets里边ul name对吧,是不是相当于我们这块调用这个名字,然后后边再加一个,那我就随便加一个字片了。加一个字,你比如说我加上。嗯,这是二,那我就加上加二。你看那我再访问这个,这个是原封不动的,你看我们这块还是这个BC,那我们用到这个时候传1GET,就相当于这个get,就能调用到这个get里边的所有的方法,那我们调用这个方法返回的值,这方返回值是不是连接完了,连接完了之后又补了一行二对吧,那我在应用的时候,我这块就可以在这块再应用一下。里边有第二个全民的计算属性,你看除了这个又变了。一点形式,所有的分布都变。那我都说了这个get调用这个没问题,那我能不能再调用。
16:02
调用到全局的里边的,也就是。对应这个模块里边,现在user,咱们现在是在这里写的,在这里写的,能不能调用到这里边的。这里边get,你看这里边有get对吧,能不能调到这里边,你看这里边儿咱们有一个购物车的。嗯。这个购物车的这个get返回价钱呢,这里边没有返回字符串的啊,正好有一个有一个是将这个数相加的,对吧,返回这一个数值的,那假如说我们再调用到这个。这个那就需要。怎么调用啊,因为这里边传过来的是代表本模块下的get,如果想调用另外一个,那我现在这里边,我把这个名字带到这,这个是我们全局里边,那get里边的方法对不对,全局的方法,那我们在这里边再加一个。再加一个section,那个ul,三加一个这个ST,这是第一个参数,Get,这是第二个参数,还有一个参数叫做route。
17:03
入的什么呢?代表的就是什么,就是我们的根的那个状态,根的状态,那我们就可以找这个里边的get了,那我们在这里边我们可以打印一下这个啊,打印一下这块啊。嗯,咱们用rot这个点ROg.rog头两参数不用哪了,这个代表状态了,这个代表本身就的对不对,这代表跟的那个。跟着那个对象了,跟着那个对象,那我们现在这里边没有调用这个方法,没有调用这个方法,我们在这个里边。用一下。三。然后我们看下面控制台有没有都有邀请一下。要么这个这里边这个对吧,列表用户你看有这么多,你可以把它打开看一下,我就不详细看了啊,那既然从这块我们可以有这个,那你想象我们现在调用。调用相当于全局,那里面的get就是根节点的get是我们就容易了,那我们这里边返回,返回什么呢?呃,返回。
18:06
这个get t t多了个题。下。返回get里边的什么fun,嗯,NM2,这是调用自己的里边的get对吧。然后我们在。连上什么呢?Root?这个里边的解TT。ER里边的fun里边没有这个名字,是这个。证明。出错了,你看一下啊。嗯,Fu。LUL全名。L2。嗯。二然后这个里边的。这个里边的啊,直接这个代表全体。
19:02
你看。诶是没有定义。咱们看一下,如果调用这个,你看它如果代表负类的那个,咱们把是因为这两个总怕你区分反啊,咱们就把这个全局的。因为它不是模块嘛,它顶层模块了,咱们就管它叫负极的啊,负极的根级的根级的你看如果就根级的get有意义吗?没意义,所以这块我写的也不叫get塔对不对?你这块想调用根基里边的get塔GTTS是根本没有意义的,对吧?因为我们计算属性就计算本类这个属性,但是我们在这里边有的时候想用到,你看我们这里边用到什么是状态的数据,对吧?这里边用这里边数据用第一个参数就行了,该计算属性计算的也是这里边的属性,对吧?那我们调用负类的get,你看。调用这个方法或者什么根本没有意义,对吧,也调用不到,而调用谁有意义啊,而我们如果用这里边的数据是很有意义的,这个是很有意义的,调用该根本没有意义,逻辑上是不需要的,所以这块传过来的代表的其实就是负极的,也就是全局的是这个。
20:06
State这个对象跟着street的对象,所以这块你看我定义的也是root s sta跟着state对象,所以跟着对象里边,那我们就可以直接调用里边,里边有什么,有nu dnm,还有购物车,对不对,Nu我调一下这个。你看NM是零对吧,那我们现在点这个NM变化的时候,这个我们啊,这这是改下边的那个名字,你看变了三秒钟变对不对,点接三秒钟变是变成99了,也跟着变是这个作用啊,所以呢,不要认为这个是从该,因为调内根本没有必要。一定要记得这里边调用的时候,这里边的计算属性是计算这个的,对吧,但计算属性可以把它组合去运用,组合的第二参数是get,但是如果你计算这个属性,想用本身的这个状态和负极根极的这个状态一起用的话,那你就可以这么去用,联合起来是这个作用。那这个该里边的方法咱们知道区别了,也就是在使用的时候跟我们正常的全局使用是一样的,只不过内部使用在这里边如何访问到,如何访问到根集的这个数据,我们使用这个方法。
21:07
对吧,使用第三个参数就行了,那同样这里边儿除了有这个因这个没什么变化,就改这里边本身的属性对不对,操作其他都一样了,还有这个action异步处理的。预估处理请求的,那在这个里边,比如说咱们有请求服务器的,或者什么数据对不对,你比如说这里边我们有一个做一些事,Do some so,你随便写吧,做一些事。请求服务器,这里边有set timeout对吧。这里边写上假如说模拟一步的啊,然后比如说两秒钟,两秒钟再开,那我们在这里边你看啊。两秒钟,哎,这个方法。再探讨这个方法一直没问题。多了一个这个大括号写上。参数有点乱。
22:00
这个是这个方法大号这是这方括号这个。然后。这里边塞。Timeout括号。第二参数写上两秒钟,然后第一个来一个箭头函数。啊,别乱。怎么一敲感觉又乱了,这个进到函数这里边的函数参数200啊,这里边这块不能用,不能用分号。然后这里边,比如说我们在这里边去处理,处理完一些事情之后,处理完一些事情之后,那么我们需要干嘛呀,我们需要调用什么这个方法去提交,对吧?比如设置名字,那我们这里边怎么调用,调用调用自己的很容易对不对,那我们这里边有个呃方法,这里边有参数,咱们记着action,这里边上下文student对不对,上下文,这个上下文里边它代表的有这么几个。有什么有ST代表本身的ST的对吧,方法,然后呢,里边还有啊。
23:06
这个然后呢,里边有com MIT,是不是有这个方法,咱们可以直接这么结构的方式去写,对不对,这样的话能提交到自己的mus里边对不对,比如说两秒钟我们在这里边调用这个Co MIT。调用提交,提交给谁呢?Set name对吧,然后我们传递一个比如说hello vuvu X这样的一个方法。晒得怕帽子。这个大括号对应的是这个大括号。总感觉不对呢,总有红色的,然后这个是箭头函数的。这个函数的。箭头函数大括号。这多了一个。然后这个里边。对,这个里边。整体的。
24:00
整体的这是这个方法里边的,然后方法里边的这神还是缺一个。啊action对吧,这块的一个,然后呢,这个方法里边一个,然后里边time out来咱看一下保存一下。那这个时候什么时候调用,什么时候调用,那我们一样在这个里边写一个按钮。嗯,正好来吧,在这个下边再加一把按钮。异不改名字在这块,只不过我是加一个异不改名字,异不改名字。然后调用新密码,我们调用这个方法,正好有一不改名字,两秒钟之后改名字对吧,然后我们在这块做一个方法叫做。C内二。你看那这个时候我们就不能用提交的方法了,对不对,那我们这块。在里边,KA,呃,这个词我怎么记不住。啊,Dispatch。Disch,然后提交到这个里边,我们这里边做了一个是杜萨。
25:08
这样的一个内容,他自己会把上下文传进来,然后呢。呃,调用设置名字,调用这个方法,然后我们传了一个参数啊。在这块提交。来。我们一不改名字。两秒一二,你看哈,这个是不是改了。所以呢,是不是应用起来写到这里面,主要说的是写在模块里边的actions和我们在用的时候,和我们普通的用的都是一样的,你看这没什么区别,对吧,都是一样的,那现在问题是什么,我们在这个里边。也就是在我们应用的这个里面。I里边那除了这两个参数,它现在这里边还多很多个参数,我把这个。再改回这个,改回con。改回上下文这个,那这块我就得用con点提交了。
26:04
这样的话,我们到这里边提交到。提交到这个里边,因为用它是唯一改变状态对不对,它里边有属性的,你看它这里边儿还多了几个。T rog,那我们打一下,比如说我们异步改名字,点击这个。一不改定的,你看这里边多了什么?这里边儿你看。有G是代表什么?在这里边我们可以用计算属性去。获取服务器的数据,所以这里边儿你可以有get。那就是相当于我们这么如果用这个接收的话,里有s sta对吧,知道代表什么呢,本身的这个本模块的一个状态,然后里边有呃,Cit是提交的,然后里边有get t ts是代表什么呢?代表本身的get的对吧,然后呢,还有root get。低压可以调用负类的计算属性的,你看root子盖了,可以调用负类里边里边计算属性的,然后呢,通过负类的计算属性拿到负类计算属性的值,然后我们一样通过这个值请求服务器或者处理结果再返回都是可以的,本身的get计算属性,负类的拿到本身的状态,那我们这里还可以拿到什么root。
27:14
Root,嗯,ST,你看有这么多。那通过这个可以拿到副类的,也就是这个里边的负级的顶级的根级的这里边儿的这个属性。所以它这里边儿有这么多对吧,但是你用哪个获取哪个就行,那比如说我这里边。假如说我现在想,嗯,用。这个G。如果我们获取多个,我们现在是不是得就得这样用结构赋值的方式对吧,Co MIT,那我这块就得换成什么CUMMIT对吧,这块,然后我们想用到root sta,别写错名啊,因为它按名称去找的。对吧,用这个,那我们在这里边就可以打印,就写错位了。
28:06
就放在这里边,那你看我们就可以打印rots里边的rog。就是LG这里边的nu。啊,一不改名字零就可以把这个。给弄掉对吧,改掉。然后呢,我们在嗯,这个里边。可以获取这个,然后可以获取本的,你比如说。嗯。这块是gets better,那我们就可以打印一下。GTS这里边有一个。咱们先ULUL全名这个点LG打一下。嗯,异步获取点击一下,你看是不是就获取这里边get里边计算完的结果,除了本身状态,还可以从计算属性里边获取状态,这也是我们常用的,因为它都是处理的状态的嘛,对吧,就是状态管理就可以了,那你想当然很少调用负类的这个get,如果想调用这个get,我们也有办法去调用到,对不对,在这里边。
29:11
也用负类的计算结果来用,那我们这里边就可以用什么,你这里边再加一个。Root g。Get。那我们。Root。里边有一个。这个名称。这个负类的状态。然而处理状态是零零的话,我们相乘还是零。我们把所有状态之后改成十。Rog。OG。嗯。再点击异步改名,你看100对吧,就获取到了,可以调用负类的get,调用自己的get这块你可以一个一个获取到这里个参数。
30:02
所以这就是呃,Model模块,每个模块都有这个,然后我也给你讲了,本身这里边状态你是变量,普通的变量啊,是对象啊,是数组啊,都是可以的啊,你可以自己去试,然后呢,艾怎么用法,怎么调用自己的,对吧。通过这个,那怎么在get里边能调用负类的属性,就负极的属性,N级的这个状态也可以通过第三个函数,然后这个没什么变化,你就正常用就行了。嗯。这个。这个调用负极的这个本身级的这个没关系,因为他就是访问自己的属性嘛,然后这里边儿有这么多参数。对吧,你可以都运用上,能用就可以了。然后呢,今天这节课咱们,呃,再具体讲点吧,你比如说我们如果把所有东西都写在这一个文件里边,项目越来越大,这项目会非常非常的乱,你看咱们现在做实验都这么乱了,对不对?那么我们能不能拆分一下呢?你比如说都拆到单独文件里边去可以,你比如说。
31:02
我们先从这个里面,从这里面猜吧。假如说这个状态对吧,全集的状态,如果我们很大写在这里边,看上去我们一点点提出来,这个状态呢,一般很少给他单独提出一个文件。因为本身就应代表GS,就是用状态管理的,对不对,还有单数状态,所以这个我们不一般的呢,不给它分出去,那不分出去我们怎么办呢。我们可以这样cost声明一个,呃,因为它对象型,对象呢,咱虽然声明成常量,记着对象虽然生成常量,但是有一点。它对象里边的值是可以改变的,对不对,这是咱们讲对象的时候都说过,这就不多说了,你看把它提出来放到这块单独提出来,那我这块是不是就是就这样做就行了,那如果这样是一样的,是不是我们用一个名字就行了。用一个名字,他一般的在单独这块去写就行了,所以这些呢,我们基本上都没有什么变化,一样是可以改变的。一样是可以改变的,都没问题的。然后。我们还可以什么,比如说这里边。
32:00
我们可以把get单独提出一个文件,那我们在状态管理里边。呃,这个里边你看。在这个状态管理里边,我们新建一个。JS文件,我们就叫gts.js放到这个文件里边EQT,呃,导出det缺省的。导出一个这样对象,我们把这个get。嗯,马上。在这个文件里边,你看我把所有的这里边儿的内容get。一直到这块我们都减掉。我剪辑掉。就是单独组织下这个木结构,那我们放到这个盖子里面。但是这个又复值了一个括号,你要放在这里边,这样的话。把这个改成单独提出一个文件,那么我们在JS里边,我们这块。你看如果我想直接用这个get的名字的时候,那我们是不是在上边包含一下这个文件,就是iportport包含直接GS from,从这个get里边你看。
33:07
这样的话。所有的东西又都可以回到是一样的,没有什么变化,那同样get我们能能提出来,你看这里边muts是不是也能给我们提出来啊这个。一直到这块我们FX剪切一下,然后我们新建一个。新建一个GS的一个文件,那我们就叫做呃,Mut。点GS直接默认它是GS文件,我们ESP导出DES就缺什了,我把这个原封不动的粘过来,你看把所有的只要是我们去修改状态的时候,我们就notice都放到这里面,这样的话我们看着结构就好一些,然后在这里边我们把这块一改。嗯,上面当然了,我们没有包含,没有包含对吧,I I I music from。
34:02
你看程序也是没有变化。一样是可以用的,那同样我们还可以把呃,其他的这里边儿还有actions。对吧,这里面也一大堆代码。坐这剪辑一下,然后这块逗号。逗号,然后我们在这里边新建一个。剪辑的是action。新建一个。嗯,JS文件叫做S,然后eportt导出D缺省段然括号我是一起粘过来的啊,这样就可以了。异步处理在这里边放着,然后我们在这里边再导入。啊,I导入,呃,Action导入进来,你看程序也是一样的,这样的话你看我的结构,假如说我们现在我看这个userr的时候,你看是不是结构就很清晰了,在这里边我们in代里边,你只要是定义生命变量状态就行,那管理这些状态,管理这些状态我们比如说你想赋值取值在这里边写,对吧,你想有计算属性到这文件里去写。
35:14
你想有什么,就是把一个文件能拆成多个文件,你想啊,一步操作在这里边写就很清晰了,那比如说这个模块,我们是不是也把它拆出去啊。模块模块一般的呢,因为你分多个模块,模块呢,我们不这么做,我们这里边再会再建一个目录。比如说I,呃是文章的模块,咱们现在是用户的模块,那就Mo对吧,优用户模块我们可以在这里面去荐,然后呢,把这个。模块的部分,也就是。我们现在都在这里边写吧,对不对,把这个。整体的,因为你要划分成多个模块,这个文件就不用再拆了,再拆的话,这个文件也可以把每一个都拆出去,对不对,因为操作这个模块就不多了,你已经拆成小模块了,所以你就不用这么再去猜了,在这里边我们在这个里边新建一个。
36:08
新建一个文件,不建立文件新建一个。GS文件,所有都是GS文件嘛,我们叫做user.gs。导入deft就是导数。当我们把这个所有的都是放在这里边。来保存一下。这样的话,我们把所有的这个都导出来,然后我们在主程序里边,在这里边如果想用这个模块的user。呃,声明一个这个user,那我们就可以等于通过哪个import,什么import,这么多import,对吧,User from从哪呢?从我们的。当前目录下有一个user model下边有一个user JS。是一样的,就把那个模块单独划分出去了,所以呢,想操作这个用户模块的,搁这操作就行了,但是这如果你再细分成这么多文件也不是不行,那就太细了,就看你的呃,程序的量有多大。
37:09
那当然这几个你单独都可以猜出去,一个是一个文件,一个是一个文件,一个模块是一个文件都可以,然后呢,在这里边你可以包含,让我们本身的这个变得很简洁,不然的话整个程序比较乱,因为这是我们开发的,有的是这么多文件请求,这时候他不会浪费时间嘛,咱说咱是外派D的,最后打包成对吧,给我们打包成一个文件的,只是在开发时候划分文件,用你项目的代码的结构去比较清晰,项目大的时候,如果你小项目的话,没有必要拆,这像咱们直接在这里边就是一个一代的JS文件也不是不行,对吧。好,那到这里边儿呢,我们的啊这个。VEX咱们就差不多了,主要是让大家理解这个五大核心的概念,说白了它就是一个全局变量对吧,超全局变量,一个大管家来管理这些状态的,然后它里边有这么多方法,你最主要了解呢,就了解这些图,但是呢,并不是所有这些所有功能都讲完了,但是常见的功能足够你用了,咱是讲完了,如果有一些没想到的,在项目里边会用到,到项目里边会接着跟你说。
38:07
不然的话,你只需要掌握这些语法就可以,至于其讲完之后,你肯定回顾一下,肯定知道这个是干嘛的了,对吧,VS干嘛的了,然后呢,这里边每一个核心概念是干嘛的,对吧,就知道了。然后还有一些其他的一些语法,然后再说,嗯,好,谢谢大家,这。
我来说两句