00:00
好,那我们现在把我们昨天讲的东西呢,给他复习一下。先说一下我们昨天都做了些什么。第一个是这个富文本编辑器。这是一个啊,第二个呢,是我们,嗯,需要真正的去做添加或者是更新商品的这样一个操作,前面我们都是在去显示界面收集数据,对吧。那最后呢,我们要去点提交。啊的时候有可能是添加,也有可能是什么。更新。也就修改是吧。嗯,好,这是这一个啊,再一个呢,我们昨天做了一下,呃,角色管理。的操作,角色管理其实就三个,第一个显示角色列表。分析列表第二个创建添加角色。第三个句。设置角色的什么权限?
01:00
好,行。那下面呢,我们来听。说一下啊。从第一个开始。那这一个。我们怎么做来着?交互文编辑。那现在你要跟人描述啊。首先我们用到了啊,GG的一个插件对吧。对吧,啊,那个时候啊,杨老师名字记不住了。对吧。怎么?那你怎么跟人交流,关键是知道吧,你怎么跟人说?嗯,你可以先回想一下那个名字有什么特点呢?是不是挺长的一个名字啊,能听懂吧?啊,挺长的一个名字,还记得那个名字,它是有一段是一句话的首字母的缩写,是吧?啊,什么what you you see is what you get。
02:22
你可以表达出来这个意思,它那个那个,当然你当时说这个字母,肯定是要说起来很费劲的。对吧。啊,甚至说老师,我那个what you see what you get都记不住了,没关系。啊,你就说一下诶,当时我就是在百度搜索的时候,在ad上找到了一个户。啊,对吧,那大的数量啊,已经有几千了,应该用起来还可以。对吧,而且用起来还挺方便。嗯,他有相应的文档对吧,有相关的例子。啊,当时呢,我做项目的时候,就参照那个文档和例子来做的。
03:02
对不对啊,甚至可以说一下他默认的那个图片上传的操作,在他的文档里面是写的不太详细的,对不对,哎,我当时还百度了一下。最后把问题给解决了,你这个描述的过程一听就特别真实。啊,比你说的特别准确,并不差,知道不?能听懂吧,啊,你并不一定要说啊,什么东西都完全记,完全把这个名字记住啊,细节都给他记得很实,你得描述一下你的一个经历。我们写他时尚。这个得说啊,我也没去背,背的没意义,主要是你要保证有一个能力,你下次再让我写,我有文档,有网络,我肯定能搞定,而且不会,应该不会花太长时间。对吧,你要给那个面试官这种信心,觉得你肯定能行。
04:05
那十有八九要。并不一定说啊,你他问你什么问题,你都回答特别好。嗯。就是这个事情啊,就是我们用它主要就是去根据它的文档以及DEMO,还有一个事情,如果确实根据文档DEMO有确定不了的事情,就要去百度搜索对吧,那百度搜索就有一个很重要的事情,在搜索的时候有一个东西叫什么。关键字,你关键字要确定的到位,你说老师我怎么做才把关键字写的好了。就是你把你的需求搞明确了。首先我们比如说。我们当当前呢,就是这个功能默认是没有的,对吧,或者没出来是不是没出来。那我就会去,首先我得确认我当前是用的哪个库,是不是。
05:02
嗯,文件上传的功能是不是有点小问题啊。那我觉得这就是关键字吗。只要你确定了你的问题,那你就应该能够确定一个比较相对比较合适的关键字。当然,你有的时候也很难保证说一次就能命中是吧?那不能命中,你再换一个相关的关键字。去通过搜索去解决问题,这是大家必须掌握的一个能力。啊。好,这里面的一些细节呢,我就不想再去说了啊,这是这一个好把它弄好以后呢,下一步我们是不是要去点击提交按钮去进行。添加或者是。修改是吧,那首先要说我们有一个整体,什么样的整体流程呢?啊,那所以呢,说添加肯定是要跟后台交互吧,那肯定要发请求吧,啊那要发请求,那发请求是不是需要一些我们商品所有输入的一些信息。
06:10
对不对,那所以再发请求写啊,先要收集所有我输入数据,其实前面我们已经收集的差不多了,是吧,只是说收集数据分为通过form对象收集的。有吧,有,还有我自己什么。是我自己通过ref来收集的。不,If找到这一个组件以后,去取组件里面的数据吗?调它的方法对不对,这个是不是也是一样啊。这能听到不啊?这里面就涉及到如果我要去获取子组件的数据。啊,从副组件里面来获取子间的数据。这个时候用if就比较舒服。
07:00
嗯。好,这是这个啊,那收集好数据有一个问题,那到底我发请求有是添加还是更新呢。是不是是天天更新,看什么呢。你是倍的,那关键是我如果是是更新的话,我收集的数据最后生成的那个product是不是应该有ID啊。准确的说是下面ID是不是。是要把那个ID放进去,最后要么是添加,要么什么。更新,我们是不是设计的是一个API的平函数?啊,没关系,因为它内部会判断对不对。啊,最后啊,请求完了以后,后续的处理就是根据请求处理的结果是不是做不同的响应,比如说。请求失败。就添加失败或者更新失败了,我是不是有一个提示,那如果成功了呢。
08:02
有提示啊,当然同时还要做一件事情呢,我们去跳转到回到哪个界面句什么列表界面去。这能听懂吧,这个流程很重要。语法细节你很容易忘,你随便就忘了,你一定要通过写项目把这种对于做功能流程感建立起来。你说老师,这个流程我清楚了,那新的流程我又不清楚了,不是,流程感是一种能力。你多训练这个能力题,有了以后,你做别的功能也就是自然而然就有了。当然是同等难度的,如果难度加大了很多,可能就会有点费劲,能听到吧?啊,那需要培养的是某一方面的能力,而不仅仅是对于语法的熟悉。语法的熟悉是自然的一个过程,就是你写写写,慢慢就熟悉了,当然你后面又可能用到一些,在项目中,实际开发中是不是用到一些新的语法,没关系。
09:09
嗯,那个是没有太大影响的。好,这是这样一个事情啊。好,那说完他以后呢,下面我们要说角色。那这个地方啊,在说角色之前,我们先要对用户以及数据,以及这个角色,我们后台是不是有两个相关的数据啊,一个是优数据吧。一个是肉啊,数据对不对,先要对数据结构有一个很好的理解。肉是角色,那角色有名字,有相关的一些信息啊,有一个很重要的信息,角色它是不是有相关能够对应看到的所有左侧列表的一个菜单权限啊,实际上它是个什么属性。
10:00
叫mus,是一个数组,对不对?数组里面放的是什么?所有我能看到每一个K的什么,每一个的K的数组。听到了吧。那这里面其实就说明了我当前这个角色所对应的用户能看到的一些菜单是吧。这能走吧,能走。好,那是我们用户,那用户除了有自己的ID,有自己的name,那我怎么知道用户属于哪个角色。他是怎么去去限定某一个用户是属于哪个角色。嗯。某个用户,我怎么确定我的我这某一个优者是属于哪个角色的。大家知道每一个角色,它的标识是什么东西。ID,那我现在想要知道我的优者某一个者。
11:01
属于某个角色,你说我怎么设计啊?那这个应该有一个什么属性呢?有一个保存什么数据的属性。对应角色ID的属性对不对,那我叫相关ID是吗?我是我有相关,这是我自己的标识对不对。嗯,那用一个什么ID比较合适呢?概念。这不就是我属角色ID吗?数据结构很重要。你连数据结构都搞不懂,那你写功能你很难写对,很难写完整。啊。好,那我们当前用户呢,还没做啊,我们现在做的是角色管理对吧?啊,先有角色再有相关的什么用户。
12:00
那这个地方就要说一个事情来看一下。看一下我这个地方,首先我一上来是不是显示了所有角色列表啊,而且有分页对不对,而且我们的分页是一个什么。小妹。前台分页就一次性查出所有角色的什么列表,在前台是不是分页展现。我这么点的时候发请求了吗?有没有因为一次将所有角色都搞回来了?这能听懂吧,能听懂啊,这是这个这个比较简单,那下一个是我们可以去什么创建角色,或者叫添加角色,这个很简单吧。这个没什么太大,说吧,跟咱前面经常一样的,而且说更简单一点,就添加角色嘛,好来下一个,难就难在后面设置角色的权限,这个按钮是默认不能点的,为什么要这么设计?
13:02
对呀,我要给哪个角色设置权限对不对,我得选先选中某一个角色了。这是一个比较好的一个。设计这个看到吧,好。来下面呢,我们点击它就能显示我已有的权权限吧,诶这个地方首先啊,这里有几步,第一步我是不是把这个列表给展现出来。那这个列表的展现是根据谁来展现的?是根据我的menu那个数组产生的,对不对,用的是我的这个tree的组件吧。其实他跟我们左侧这个导航的这个展现是不是很类似,我们也用到了哪些语法来去实现多层次的展现呢?Reduce以及什么递归。这我们前面用过的是不是写法基本上一样,我们不用再去想说了,好,下面一个事情,我如何能够去默认选中一些项呢?这个选中的是我默认的选项。
14:12
实际上就要说我们是不是选中了一个肉啊,对不对,那个肉啊,是不是有一个。当然,他是不是也有name?是不,这个mannu name,我当前这个子,这是一个子组件吗?这个组件要不要显示要用它吧,那我们就需要将肉传给这个子子键,两个数据是不是都有了呀?好这个地方来说,我们再去操作,比如说我点了它,那我是直接更新这个menu什么。不是。不是直接更新这个,他传给我的数据是让我去显示,让我去读的,对不对,并不是让我去什么修改的。那这个时候我们是自己在我的组件内部设计了一个状态叫check的case,实际上也可以叫menu。
15:09
能听懂吧,也可以叫menu没问题,只是我想把名字区别开来,听懂吗?他们是同样意义的一个数组吧,同样意义的数组,当我去选中的时候,我们是不是把最新的所有选中的数组存到这个状态里面去。但是menu可起了。没有没更新,那我什么时候嗯去确定啊,我点OK的时候,我怎么知道要去怎么更新我的了,我最终不要更新product吗。实际上我要更新是大里面的是吧。那这一个menu是从哪来的数据?是不是就从这个组件里面去什么去读它听懂了不实读了,它是读了这个吗。
16:01
不是这个刚刚说过了,没有什么没有修改。这两吧啊没有修改,所以同样道理,是不是也是用if去读啊,啊用if去读啊,也是可以读的。啊,读了以后呢,就可以进行更新的操作,但是大家还记不记得昨天我们是出现了显示异常的bug,对不对,那个勾选是不是有点不太正常啊,或者说我们如果不做特别处理的话,我换一个角色,他是不是还是显示以前的样子。能听到不,我们后面用哪个函数来解决呢?啊,我跟别人说的时候不要读那个卡。读起来费劲,因为本来就很长,听到吧,你直接说receive。因为前面都是水。
17:00
是不是都是破烂的,能听到吧?啊好利用它,那这个方法什么时候掉的。当我接收到什么?新的属性的时候是不是就掉了。大家知道接收到新的属性是不是即将要更新的?对不对啊,初始显示的时候它会掉吗。不会,这边听到不初始显示时它是不会掉的啊,这个要注意啊。好,嗯,昨天我们重点呢,就是这样一些相关的一些东西啊。其实昨天我们做的不算是特别多啊。
我来说两句