00:00
现在啊,我们的这个现在是不是就这么多,那后面再有新的菜单项,我是不是得去改这个文件,去添加me item,或者是是这样的吧。这个其实写的有点死。写的有点太死了,也就以后扩展性呢不太强,最终我们的设计是什么样子的,我先让大家看一下,最终的设计我们再来说啊,当然现在你们很难有这种思想啊,先看一下。我呢?有一个文件叫菜单导航菜单的什么呢?配置的一个模块叫menu cons。而这个实际上是一个什么样的解数据呢?是一个数组。里面其实叫my list。啊,就数一个数组,而数组里面的每一个元素都是什么类型对象?接下来大家看一下这个对象有几个属性啊,大家注意观察。
01:03
有title。有KK实际上是那个对应的路由路径呢,有一个icon,实际上是那个图标的名称,听懂了吧。也就是说大家会想一想啊,现在实际上是将这个菜单里面的这个展现的数据部分从这个结构里面给它剥离出去。就是接着剥离出去,再根据数据来动态生成这个结构。对,听懂我意思吧,啊,因为后面有一个很重要的操作叫权限管理,那个要不这么做的话,根本就没法做。啊,在这里面大家注意,也就是说我每一个这个菜单上item是不是就对应我这个数组里面的一个对象。包含了抬K以及什么爱看?抬是不是这个文本?这是爱看吗?
02:03
我点一下请求的这个。路径是不是就是这个K。听懂吗?听懂好。我的下一个是不是商品呢。商品是一个,最终是不是形成一个。是吧,最终形成上面这个商品,它是不是有两个艾把含两个子艾吧,看看怎么做的,看好了,首先他肯定有开头吧。有问题。美女,这个他是不是有icon?左侧这个图标是不是好,还有什么啊,这个K。啊,这是定义的一个K,其实这个K呢,呃,没有对应的路由路径。但是也不能说不能说随便瞎写,应该写个差不多的一个一个名字,重点看下面这个。有一个什么children。
03:01
这个求准它是不是一个数组啊,而这个数组里面的每一个对象,大家看到跟那个it的那个数据的对象是什么一样的格式。那你说这个children用来干嘛的?用来显示谁的,是不是显示他的数据?这能听懂吧,也就是说我们最终要把这个结构里面的数据问是不是抽离开来,抽离开来是抽出来整个是个什么数组,因为它是个列表嘛,是不是,那数组的每一个元素是个什么类型。对象就代表某一项是不是,那某一项有哪些数据,首先这里面是不是有一个标题文本,那就说明这里面一个什么属性。是不是title,还有我们这里面是不是需要一个图标,那就来个什么属性icon,现在我们每一个我们这里面是不是对应一个啊唯一的K,以及它对应的路由路径,我们说每一个item都要有唯一的K嘛。
04:07
实际上是用的路由路径来对应的,关键就是有的,像是不是有子列表啊,所以需要有一个什么。求准,而求准的值是不是又是一个数组结构,而这一个数组结构里面是不是又有很多个对象,而那个对象结构跟它是不是基本上差不多了?啊,这个呢,不用我们一个一个去写,你没有必要去一个一个的去写啊,重点是理解为什么要这么设计,这么设计的每一项它都对应什么意思。当然你自己开始是想不出来的,你还没有,还没达到这样一个地步,你可能想不出来,你的重点是你能不能看懂,我说了以后能不能听懂。能理解吧,那最后我们就会在我的这个里,项目里面会定义这样一个模块啊,写在一个专门的文件夹里面。
05:08
啊,这个文件夹叫什么名字呢?叫con配置的意思吗?好,我们这里面建一个模块接什模块名字叫什么呢?Mannu can是菜单的相关的配置。呃的一个模块。实际上呢,这里面是一个什么模块,大家看一下就懂。实际上我先是不是定义了一个数组的变量或者叫常量,对吧,接着加上什么,是不是进行了包。能看到吧,说白了我这是个什么类型的模块。什么类型的模块?什么数据1000模块宿主嘛,这还用说吗,这个宿主吗。那后面我们的这一个,嗯,大家看啊,找到我们的life level,我们level还剩这么些死吗。
06:00
不是,应该是根据我的这个数组。是不来动态生成结构。这能不能听懂啊好行,那我们现在就做一做,首先第一步肯定要什么变引路了,这没什么好说的,对吧。来引路的啊,是谁是应该是点点斜杠,点斜杠,我的贝下面的贝,当我这个名字可以命名成可以吧,但是我要说我能不能写成。说白了就是现在我的名字甚至可以写成AA行不行,为什么行,什么情况下行。怎么着,他行的。那是我引入这个模块,什么时候可以任意起名字呢?就是说可以啊,是说有这个有没有这个能力,有没有这个可能性,应不应该这么做,是另外的对不对。
07:06
很简单,默认暴露的,其实可以写任意一致。听懂了,不默认暴露的本子上你可以写任意名字,但是你不要真的任意,你写个AA,这没什么意义啊,是不是你写个可可以可以啊,你写个是不是也可以,因为这里面本正是不是应的名字是不叫呀。看到吧,这两个都可以。啊,当然你想卖掉咖啡,那肯定也是对,因为跟这个文件名是一致的嘛,是不是。OK吗?OK啦,好,那有了它以后,那下面我们要做的事情是要根据这个measure的数组生成一个结构,生成哪个结构呢?来说一说这一个结构要动吗?
08:00
整体这个菜单不懂吧,而是要动态的去产生item或者是sub item对不对,这能听懂吧,把这些不要了啊,别搞这么多了,把他们都干掉,就两种。两种类型,就里面我要么是一个卖,要么是个上麦,里面包含听懂了吧,这不能写是吧,那我应该给他们把这一个部分给了什么。是不是注释掉。哎,我的个天,这个这个注释也太疯狂了。怎么感觉好像?看一下啊。哎,这个人舒服一点,好,现在我注释掉了吧,那注释掉之后,那也就是说我们应该是不是动态的去根据我的这个数组来生成一个。什么结构啊,什么类型的数据。大家想我要显示。
09:01
有可能有N个吧,或者说可能有N,也可能有N个吧,他们是依次显示,那我应该产生一个什么结构的数据。数组,而且数组里面是哪些东西?是menu item或者是什么,那这个一条鱼就能搞定吗?不能吧,所以我怎么做呢?看好了。我怎么做,Get me?什么意思?这点开是不是获取menu的所有的什么呢?子节点,而它的每一个子节点要么是menu,要么是SME。这能听懂吧?啊,那返回值应该是个数组吧。因为有多个嘛。
10:01
而且我还可以把谁传进去了。条件是谁?My list,这能听懂不?这不就那个数据吗?根据数据生成标签结构是不是这种事情?咱讲rap的时候,第一天就应该讲,就是我需要展现一个列表是吧?我需要展现一个列表的结构,手里面必须有一个什么。是不是是个数组,我要根据数据的数组生成一个什么标签的数组吧。经常用数组的什么方法来实现?用的最多的是不是卖?能听到不用的最多的就是麦,当然我后面会告诉大家,还有一个方法也可以用。60我们等会两个方法都用一下啊,两个方法都用一下,好,现在我是不是要定义这个方法去。这能听到吧,来盯一下。接受的是个什么?写成一个函数吧吧,买这个是干嘛说一下。
11:12
是根据啊menu的数据数组生成对应的什么呢?标签速度,只是这个标签可能是item,也可能是什么sub。吧,那好,那我们刚说过,最直接大家能想到的就是利用哪个方法了,卖方法哪一个什么谁了me点什么MY。哎,对吧,每一个是不是都是一个假设啊,这个叫item,就是某一个数据,也就是这个,一定要知道这个item指的是item,不是指的标签。
12:00
而是指的这一个数据。这能不能听懂?当然也有可能是他。是不是也就是说什么意思啊,大家注意观察这个地方的这个item。来,因为这个结构比较复杂,所以我用大括号里面再写。这个item的结构是这个样子的,我把它列在这里。能不能看到能,而且这个M是有可能还有一个什么属性,求准,当然也可能没有,对不对,也可能没有,有可能有可能没有,我写上啊能听到吧,啊这个啊可能有,也可能没有对吧?啊也可能没有。对吧,好,那最终我的这个map应该是不是要返回一个东西。对。返回一个标签结构吧,最终显示的是不是就是个标签结构,那关键是我返回哪个呢?我们有两种情况,刚才说过,要么返回的是menu.i标签结构。
13:15
来拿一个过来啊,拿一个拿一个,就这个结果。有可能返回这个结是不是,嗯,这能看到吧,啊要移步来啊,这个流程有点长,还一种可能性,那这个东西。就是返回的是他。返回的是这个结构,而这个结构里面吧,它麻烦的地方就在于它里面还有什么。他还有menu item。啊,我就简单的试一下啊,我就简单的搞一个,搞简单的别搞,这个时候就不适合搞复杂的放里面了,搞一些简单放里面啊,我也自闭课得了。
14:00
可能有多个是吧,那也就是说我是为上要去开,到底要生成还是生成上面我怎么区别,得判断什么,有没有什么求。这个简单吧,那也就是说什么意思来。点他如果没有值说明什么,我应该什么item就生成这个结构。听不听懂,那这个结果是不是用小括号写的?看完了那下面了。生成那个。生成下面这个结构。那也要用个什么小包给它括起来。懂吗?只是说我们这里面数据得是动态的,是不是,那这个对应的是我item里面那个K吧,那怎么做K,而且我这个to其实也是对应的是那个什么那个K,因为那个K就是那个路径嘛。
15:18
大家看一下数据你就知道了,能听懂吧,好,接着这一个呢。我们是不是里面还有个属性叫什么。也就是这个。下面还有一个什么title。在这个里面。可以吧,可以,那同理啊,这个是不是也是。可以对应的是s.K吧,这个没什么难度。好,这个icon呢,里面的对应的是。
16:02
I点什么来看。不能用双引号啦,接着是这个什么点什么抬头。能看到吗?重点就在于我怎么生成它的里面的这个呢?递归调用很好啊,如果你们想到用递归了,这个事情就简单了,什么意思呢?我无比简单,我告诉你this时点get是传,他一个数度,这个数组是传啊,哪个呢?他什么准,说白了,你根据我的那个准速度去生成得了,我也不管你对吧。也就是说,此时我们用到了两个重要语法。使用map加递归调用。
17:01
能听到不,那现在我们其实就这么写好了。但是就是我估计有的同学低估的这一下好像不太懂,其实很简单,就是我的这个方法,我的这个法是不是根据你指定的数组来便利你数组的外层的元素对不对啊,记住啊,我开始是变利Y层的这个对象。来生成结构吧,但是里程的这个。你是不是可以又回来再用我这个方法给我给你处理。能懂吧?大家还做过数组扁平化是吧?讲过是不是,那那得了,那肯定比那个要简单。那数字变化的时候比这个难多了,OK吧,OK,好,没问题,这是这个来,但是我们得测试一把,看看是不是。
18:00
嗯,来看一下。啊,现在我们这功能肯定是有问题啊,为什么?因为现在home应该后面选中是不是这个事情我们等会再做啊,先把列表的对,而且进行跳转,看一下整个列表显示没有什么问题吧,没问题,就是就要看我点他们的时候能不能进行相应的路由跳转,可不可以可以是不是每个都可以啊,就说明没什么大问题对不对。好,那我们这一次用的是什么麦加递归调用。
我来说两句