00:00
来还是接着咱们上节课来讲,上节课呢,可能有的同学有疑惑,说我们这个。东西到底是干嘛的?我先说一下啊,我们提出一个概念叫控制性对象。而这个控制器对应,其实它只是一种辅助的手段,包括我们用到一个指令是不是叫nt controller,它最终的目的是想要去生成的是这个东西。Dollar scope又叫作用与对象,而我们最终操作了打交道的是不是就是作用对象?哎,之前呢,都是一个手段,都是一个手段。然后我们讲了我在生成的作用对象,它是Dollar的什么子对象。一讲到父子关系,我们能想到一个继承的问题。怎么证明它呢?我们再用一下指令,叫NG in it。注意了,NG的是不是用来初始化当前作用于对象里面的变量。
01:04
当前作用是不是在NGB,这对应的应该是叫根作用对象吧,那我这初始化个A减,比如让它等于12。A等于12,或者来个39吧,严谨一点啊好,现在NG,我是不是初始化了个A。我们来看一下啊,我去刷新一下。把那个关了吧。大家看一下我这是不是有个age啊,那我问你现在这个age是在cope还是在scope对象里边。如scope很好,第一步,现在人间里面有个A级属性那。注意看我这个NG controller,它这是不是对应的去生成一个Dollar scope作用对象,它的范围其实只限于它这个板块。这个能懂吗?那如果说我在这个里边想用一下这个A级属性。
02:03
能理解我的意思吗?如果说能显示说明什么?说明他是不问人家上边这个跟踪对象要了,否则的话你是没有,你自己是不是没有A级属性。来,我们来看一下到底有没有啊。是不是能拿到,能拿到的话,只能说明他问上面去要了,要不是说平白无故就给给你的,你通常问你爸要点钱好使,你去马路上问不认识人要要试试看。通常来说是要不到的。就这个意思啊,哎。那讲完这个作用对象,我们这一把回头来看一个东西,诶依赖出路,诶还有个东西啊,再给大家证明一下,我之前是不是强调了一下这个do scope在这儿必须是这个行三必须是它吧,那我可以干嘛。把它换一下,比如我换个A。按理来说我是不是点这个,这是不是现在全部成了A了,按理来说是没有任何问题的。
03:08
对不对,因为我这是不是声明的是刑参啊,我们来看一下啊。当你看到这些东西,这是里面的语法都出来了,这肯定是报错了。肯定肯定有问题啦。哎,这不是报一堆错吗?也就是说你换成了A的话,它就报错了,当你再还原一回,当这肯定是没有任何问题的。知道了这个以后,我们这节课来看意外出入。啊,讲依赖注入的时候,先给大家讲一个概念,叫依赖对象。其实这些东西特别好理解。就和我们生活息息相关的一些词语。依赖对象什么意思啊?完全某个特定的功能,需要某个对象才能实现。那么这个对象就是我们所说的这个依赖对象。
04:01
说白了,我要去干一件事情,没有你不行,那么你就是我所依赖的目标。应该好理解,哎,这叫依赖对象。其实这个依赖就像我们见过。我们见过。比如说。我这有个八成,我给他来个ID。来个B题,那么比如我这来个客官来点我一下,现在这是不是有八来,我们先去写写吧。比如说我想要先给获取这个button,然后呢,给他绑定一个这叫昂什么点击事件啊function,哎,我想要点击这个button的时候,拿到当前这个点距离我视否左边的距离。Event的对象大家都知道吧,啊,回调时间是不是有对象,我让他alert一个东西,Event里边我不知道这个你们用过没有,Client s词应该是A。
05:09
我这个有点是不是就是它,然后来我打开这,那我一点这是不是就有一个距离啊,那你现在想要完成这个功能,我问一下大家你能不能。不用他。我直接这样。这肯定不行吧,那even现在是不是一个对象,而我要去实现刚才那个功能,是不是要依赖于even?那其实就是一个依赖对象。依赖对象。知道了这个以后,我们再往下看一个概念,叫依赖注入。就是说你依赖的对象以行参的形式被注入进来,哎,这种方式呢,叫依赖注入。以擎以擎参的方式,其实这个就叫依赖注入。大家看我这是不是申明那个星差。
06:02
最终我在里面是不是使用的是他注入进来的对象。那到这一步,你再回头再想一想。这个东西。Dollar f scope。首先我在里边想要去拿到这些数据,我是不是要依赖于Dollar scope这个对象?首先,我们能确定的是,他是我们依赖的对象。第二步,他这种形式,它是不是也是以行拆的形式最终注入进来的。这没问题吧,所以在这,哎,这个Dollar scope也叫作用于对象,它就叫依赖注入的方式,严格的来说,这叫声明式依赖注入。申明盛大听过吗?这个。没听过是吧,申明是依赖注入。你与与它对应的一种方式,还有一种叫命令,是啊,跟他说一下。
07:06
开发的两种方式。一个叫。生理式,与它对应的还有一个叫命理式啊,这是开发的两种相对的方式。或者我把这个话讲,咱们先讲这个命令是吧。再讲声明式,那什么是命令式,什么是生明式呢?比如说我有这样一个需求。给你一个数组,将数组的数组里的每一项值。加时。嗯,然后输出。驾驶输出,然后我们来写一下,我们就在这写吧。比如说我玩一个AR数组。
08:00
里面有一些值12345吧,现在这有个数组,给你一个需求,你加那个数组里面的每一项值,加时输出。如果说用失明式,用命令式怎么写?大家有没有思路啊,这个其实一点不难。怎么加时啊?最简单,你是不是得便利他,便利他拿到名下值加十不就完了吗?没问题吧,来便利的话放循环大家都懂吧。然后我只需要把这个画完,这是不是AR?这个化成value啊,那这个value你看一下啊,我这个放学这我就不说了,Value是不是就是拿到了每项值。紧接着我其实可以直接在这干嘛,加持,这是不是我们想要的每一项新职啊?然后你可以这样去挖一个new a,它之前是个空数组,现在我是不是只需要将这些value复试进去就OK了?
09:07
没问题吧,那最终我conslo new a。这没有任何问题,我们来看一下。刷新来检查一下。这是不是都加时了,那这种方式呢,叫命令式,可能现在说大家还是不太理解,我再写一下,如果说用声明式,我怎么去实现这个。这个方法大家学过是吧?没学过。数组有一个方法叫map,是我们接下来在学ES6的时候,我会去讲它啊,就ES5的一个方法,它也是遍历数组看到啊,我先来这个new。AR2,我让它等于一个我们要便利的什么AR?
10:00
不如原数组是它嘛,数组里边都有个方法叫map,那么这个map这个方法呢,它和方译式有点像,主要它。我先给他输出一下,你先看一下。Olo,这个item我把index输出,或者这我们先不要它,这个你们是不是也没见过?ES6的,他接的不学。我先刷新一下,这个东西应该好理解。那斜边这个对应的是什么?是不是每一项值,而后边index对应的是每一项值,它对应的什么下标索引嘛,那map有一个方,有一个特点,Map是对当前的目标数组进行加工,它返回的是一个新的数组。哎,我先提一下啊,它返回的是一个新的数组,也就map,通常用map的时候,我里面会第二线。Return return出来的就是对我这个。
11:02
便利出来的这个目标进行加工。H是不是每一项值我让他加一个十,注意了,现在map收起来,它是不是一个方法调用,它有个返回值,而这个返回值呢,就是加工完的新数组。我去玩儿一个。这把我们叫它new a22,让它等于它来。我呢在下边去,你发lo这个new a,我们来看一下。首先你先看他俩的结果是不是一样的,哎,Map这个方法你们现在没必要过过分去纠结它。接下来我们会专门去讲它没问题吧,那这样的话,我问下来这两个方法哪一个解答啊。其实map里面是不是就一行就搞定了,放循环这个它有个特点,最起码你得便利,是不是先自己你得去找到每一项。
12:05
然后加时,然后你还得找一个新的数组,是不是将个新的值给它铺置进去啊。那我map这你会发现只需要找到这一项加个十,最终我第一个变量一接收就是新的速度。说白了,Map是将放循环里边干的一些活,他干嘛了?进行封装了,人家封装好了,现在我来说一下这个命令式和声明式的区别。早点儿说吧。命令是更加注重的是,哎,执行的过程。而施女士。他更加注重的是。对执行的。结果大家想一下,我这个命令是,其实你顾名思义,他的意思要求你必须每一步要根据我的命令来。
13:02
因为很有可能我给你提一个需求是吧,你去用放循环去便利一下,你先找到。每一项时。然后给它加一个十,最终呢,你还得定一个数组给我push进去,这叫命令时。严格的按照我的步骤来走。声明式是什么意思啊?我先给你提需求,我最终想要的效果是什么样的,至于说你中间如何去实现它,我不关心。哎,这叫生米式。那其实讲到这儿,我可以说一句话,他声明是是对。啊,秘密式的局部包装。也就是他在声明式的过程中,他已经是将命令式的一些步骤,他干嘛了,他封装好了。不需要你去操心。哎,这个有可能说面试的时候要和大家去聊了啊。
14:00
如果说到这儿还不太好理解,那大家考试都考过,我呢,给大家举一个例子啊。我们以前考试的时候,什么选择题,体验空间解答题什么都有。学不管了,牌子掉了,命令是这一块,它更像什么考试的,哎,解答题。而市明是呢?哎,更像什么选择?或者是。填空题。我不知道你们,反正我以前最讨厌是这种题。为什么这样说?学渣其实特别喜欢这些题。对,因为你比如说选择题它不是四项嘛,哎,以前不是还有个口诀嘛,什么两短一长,两长一短对不对,那都是有秘诀的啊,你实在是不会,我是不是还得闷一个,我正确率还是25%。
15:03
啊,填空题也是,填空题有个什么好处,脖子长的同学可以可以说抄一下别人,如果你能瞄到的话,我是不是直接把答案就能写上去,不需要算。最讨厌是解答题,什么意思呢?请详细的写出每一个,每一步,比如一道题,通常来说,我记得以前的解答题应该十分。而且一步很有可能是分五步,一步是两分,也就是脖子长,你你看它的每一步,你肯定是看不到了。但是有,你很有可能有机会看到最终的答案,然后突然来来,我先把答案抄上去,先拿点分,不好意思,这个其实是没有分的。因为解答题是根据步骤来给你分,也说很有可能你前三步对了,思路对了,哎,给你六分,最后答案错了,这四分是不是也没了。就这个意思啊,以后你们出去聊,实在说前面这些,哎,说不出来,就给他举一个例子,命运是就是解答题。而实名是就是选择或者填空题,大家能懂吧?
16:04
能不能走,嗯,这依赖注入。这儿没有什么代码量。
我来说两句