00:01
来接着我们上节课来讲,上节课呢,咱们是整的第二个,记住了,这我最起码我每节课讲哪,大家要知道上节课我们课的是第二个里面四个重要概念里面,我们是不是整一个双向数据稳定了,那有的可能会问你这写那四个,这就列出两个,还有两个就是大家其实接触过叫MVC。来VVM,因为这种是理解性的东西,最后咱们再讲也没有什么代码,所以不用放在这儿啊,不用放在这儿,好这依赖之物我们先不讲,这节课我们来去整三个重要对象里面的,哎,第一个记住了。在零三下面啊,先来看第一个,我先打开,它作用于与控制器对象。先来看这个概念,来这吧是正式了,讲到作用域对象,我们刚刚是不是接触过一个叫跟作用对象的东西啊,他们统称其实叫作用于对象。
01:01
什么叫作用对象呢?它是一个GS的实例对象,说白了是真真实实存在的一个对象。而n gab这个指令,它默认呢,就会创建一个价Dollar符,记住了,这个Dollar符不能丢,哎,Dollar符rootco。叫根,作用于定向。那么它的属性和方法与我们页面的指令和表达式是关联的。这个其实我们已经感受过了,也是这个对象里面的属性和方法,最终肯定是要和页面去打交道的。否则的话,要它没有任何意义。再来看下面。这有个控制器,这个控制器呢,我们先不用去过它,我先打把这个prepare,诶这个就prepare把这个写好了给它打开。这个和我们刚刚说的数据环境的效果乍一看是一样的。也是两个文本两个输入框,没问题吧。
02:04
而且他们上来是不是有数据啊,这个是这个还拼错了,这个数据上来有了,有了以后,哎,大家看我去操作一下它。走,你。课程和上上一次我们讲双向数据绑定的时候有什么区别?当我去操作第一个输入框,它不会影响到这儿。而且下边这两个文本,它只会影响到一部分内容。一半对不对,然后我再去操作第二个走你。它是不是也不会影响第一个,也就是说现在我这两个文本框关联的东西相对来说是独立的。那这样的话,我们就要看一下这个利用工具去看一下它里面到底内存结构是什么样的。来,这一把我先收起来,我们又看到了我们刚接触的比较熟悉的,是不是这个跟所有对象。
03:05
好,这个对象有了,你点开它。你会发现多了一个东西。我们之前是只有个001,而这吧,大家看这多了个002,而002下面这又有这是方法了。这不属性吗?我问一下002是什么?什么数据类型?问你们数据类型是问他是对象,是字符串还是什么函数?这很明显是一个对象,因为它里面是不是既有属性又有方法说明002是个对象,那002是这个对象是干嘛的呢?我把0.1收起来,你发现0.2是不是也没有了。那说明什么?零零可以管理他。
04:00
通常来说,我们看一下文档结构也是这样的,你打开word,或者说是思维导图,那我上一集,你比如说我把这个一搜,下面这些东西是不是都收起来了。它说明是我下面的一些子子目录。现在告诉他,002是我001的子对象。而这些对象统称为叫根,作用叫作用于对象,就是没有那个根啊。根的意思是最往上再往下是不是有分支,这叫作用于对象。而002里边是不是有属性的方法,大家再来看一个东西啊,先不管这么定义的叫什么东西,你看这两个数据。正好是我页面上的数据。那也就是说我页面现在的数据和谁关联,和002里面的属性关联。这个能懂吗?哎和002关联,来,我再操作一遍数一。
05:01
这个是不是变了,那同理,我操作一下后边这个哎拉是不是也变了。那这样的话,我们就要考虑了,这个002它是怎么来的。怎么来的?那我们开一个概念叫控制器。控制器,一个来说它叫控制器。对象。先来看第一条,首先它是用来控制安格拉GS。应用数据的拿看我这故意加了一个空格。说明后面这个挺重要的,就是控制系对象,它用来控制的是安格拉GS的一个实例对象,记住了关键词叫实力。然后我们再往下来看啊,NG controller,这又是一个我们要学的新的指令,Controller知道什么意思了。这个单词翻译过来是不是就控制的意思啊,哎,这个指令注意看他要指定一个。
06:01
控制器的构造函数。一讲到构造函数,我们最终肯定是要去利用它,甚至实力的。和上面这个对应,看这句话,当NG ctrler指向一个构造函数的时候,安格拉会自动定你这个构造函数。你六娃创建的是不是就实力立项了?然后安格拉还会创建一个新的预对象,注意了,这一把没有音没有跟了,这说的完全一点是作用于对象,叫Dollar SCO。其实就是我们看到的谁啊,002这个也好理解,就是和他对比没有这个谁了。Root了。哎,安拉自动创建一个它它呢是Dollar root go跟作对象的。子对象,一想到子对象,当然能想到什么。可以干吗?就复制关系嘛。哎,很重要的一点是不是继承啊,来继承,待会儿我们来验证一下它啊,验证一下它,那说了这么多了,可能这些概念大家还有点模糊。
07:09
来,我先把这个关了,我们先来写一写吧,到study test找到零三,哎,在这。先来把页面结构去搭一下,一它是两个音input,接下来是一个P标签,这没问题吧,比如姓名一啊,这肯定是表达式,那接下来这个呢,是个姓名二,哎,咱们就这样没问题吧,然后打开咱们的页面。来吧,开始歇歇。页面有了,接下来安GS是不是要发挥作用?第一步去接管地盘,NGP没问题吧?那接下来怎么写啊?首先input这种可操作的。当对象。
08:02
那这个时候我用的肯定是NG model,大家记住了,因为它能给我们提供数据。对不对,先来个model,比如说我这写个first。那这个呢。这个肯定和上边有个不一样,因为如果一样的话,他俩是不是会互相影响。那这应该怎么写,我们先不去考虑,关键是我们得先把这两个数据给我显示出来。我现在刷新一下,这是不是没有数据,人家上来是不是就有。那这个数据我们得想办法去初始化呀,怎么初始化。咱们刚刚是不是学了一个指令叫NG吧。那我先给大家用一下啊,比如first name。来个科比,这没问题吧,我就来初始化一个他。
09:05
就是咱的我刷新一下啊,科比是不是有了,关键是你打开这个工具,你来看一下。First name。在谁的下面。是不是跟踪于对象里面的一个属性啊,那你看我这个写好了。我已经打开这个工具,它在谁的下面。在零零,最起码你不知道现在不是叫什么,在002下面吧,其实它就叫什么作用与对象。这很明显和人家这个想要的这个效果是不一样的,那我们现在其实就不能用NG的去初始化了。而且和大家说一下,以后的开发当中,你说你们实际开发肯定不会用NG的去初始化所有的数据。就拿刚才我们看那个饿了么来说,下面是不是有一长段这些东西,如果说全部用NG的写在我的标签里面,你得写死。
10:03
先初始化20个来,你试试是不是特别长啊,所以说不会用NG的在这儿去初始化,现在我们的目标是应该先赶紧去生成那个002,叫注意日立项。现在咱们是不是还没有,这不光管司令吗?没有下面的002啊,来这一把呢,就要用到控制器对象啊,首先它说它这是不是要指定一个构造函数。这把我得写GS了,注意看引入的是1.2的版本。我就起个名字吧,叫my my controller。这是一个什么函数?看到这。你怎么知道他是多个寒窗?才你们这样说啊。出去千万不要这样聊,不要说看到大写就是构造函数,谁说的大写就是构造函数啊,那如果说我这个函数。
11:06
我大写就不能自已调动吗?这不叫构造函数,能懂吧?你看它是不是构造函数,据,看他如何去使用它是自调用还是去谬呢?如果是拗它,这才是正儿八经的平方。构造函数,哎,这一点以后千万不要再说了啊啊,现在我这个函数有了,然后我们引出一个指令叫NG controller,注意了,这个指令如何去用,大家看着我先这样写,我加个div。对我当前这个有影响吗?没有任何影响吧,我就是外边套包裹器嘛。没问题吧,那接下来你出一个指令叫NG controller,它要指向的是不是一个构造函数啊,那我们现在就当它马上是构造函数来用,我把它给了它。
12:02
哎,NG卡通,这要指定一个控制器的构造函数,关键是后面这句安德拉会自动谬这个。构造函数,这才是重点。它一指向它,安拉是不会自动利它,这才能说明是构造函数。然后要注意了啊,这句话,在控制器的函数中,你要失明一个东西,行参,而这个行参我先说一下。行参必须是他。Dollar,我们之前讲了,我一个函数定义什么,形参写什么,什么无所谓。写个a ABB都可以,关键是看人家住入,就是调用的时候存的食参吧,而现在在这儿先记住了啊,这的行参必须是它。当你去声明完这个行参的时候,安格拉会自动的将Dollar scope注入在这,这个Dollar scope连起来就叫Dollar scope对象作用于对象。
13:08
我只是写了这些东西,我们再来看一遍啊。刷新。哎,你还在干嘛,点开它。你会发现002有了。这个002代表的就是作用于对象,它怎么来的,大概再回顾一下。首先你得用控制器对象,你说NG controller要指向一个构造函数。而这个构造函数你提前得干嘛?声明一个行增。当你放在这的时候,安格拉会自动利用这个构造函数,同时它注入一个对象,就叫它。也就是你在页面看到的那个002。我们可以去证明一下。你可以看一下什么到说Co看看有没有注入进来不就完了吗?我打印它是不是就可以。
14:04
刷新一下来,我们来检查一下。这其实就是一个对象,这个里面这些都是它的方法,有没有看到这个ID。这什么标002,这个002就是我一旦打开,这是不是也有个002。哎,和他是一致的。生成了0.2以后,和大家说一下,如果说用MGS开放啊,你更多操纵的是这个dollarcope对象,而不会是去操作什么scope。因为scope是最顶层的,它叫耕作对象。而作用于对象是不是它下面的子对象,为什么说操作的是它呢?这个就好像大家在学GS的时候说了,最好不要在全局去定义变量是一样的。因为你把所有的东西全部放到了全局里边,容易出现什么问题啊。
15:00
是不会的环境,而且你后期项目在维护的时候,也肯定肯定是不好维护的。你所有的东西都写到一块儿了。所以那时候更提倡我们是不是写在最起码你写在函数作用比较好。对不对?一样的道理,在这儿也是更多的操作是作用于对象,而不会放到跟作用与对象。那既然这个作用对象现在有了,我能不能想办法给对象里面添加手机,还有方法。这个对于我们来说没有一点难度。Dollar of是不是这个对象?那我能不能这样写first name,这不相当于给他添加了一个属性吗?再来一个last name,我让他等一个。这个才是对的吧,嗯,咱们班好像有同学也挺喜欢篮球是吧?我记得和你班学生我打过两句。现在我初始发了两个数据。
16:01
来,我们来刷新一下啊。走,你。手机你能直观的看到是不是这有了。这没问题吧,其实在哪都能看看这儿。这时候相当于给这个对象里面添加两个属性啊。然后看完控制台,我们看哪,关键是看这个工具。现在这个0.2下面是不是有两个属性啊。啊,而这两个属性是不是已经和我的页面关联上了。没问题吧,好。那接下来这些东西就好写了,这应该怎么写啊?如果说我仅仅放一个first name,大家看一下啊,走你。是不是只有他,关键是你看人家这个是不是要把后边这个拼起来啊,那怎么办。我们刚讲了它里面是不是放表达式。
17:02
我说了一加二,这是不是也叫表达式,叫运算表达式啊。拼串对于你们来说没有任何难度吧,我能不能拼串什么意思?中间用杠把它前面两个变量吧,能不能把它俩连起来。没问题吧?来看一下。这是不是就出来了,然后来我在这整个一整个二。是不是各自影响各自的这一半?那接下来下面还有一个呢。这怎么办?这把是空格吧。那怎么办?如果说再拼串,我就没必要练出这个来,给你们秀这个拼串的技术吗?肯定不会再拼串了。打下。我对象里面能添加属性,我能不能添加方法。
18:00
完全可以吧,现在来这不对象吗?对象里面你比如说get,我给他起就叫get。我让它等于什么方,这相当于是我又添加了一个属性是,但这个属性对应的是不是一个函数?而这个函数,最终我让它放到这儿,但是一定要记住。调用,如果说不调用,你是不是相当于直接放个函数体过来。调用的话什么意思,让这个函数去执行。那么他执行完了,我应该是想干嘛拿到他的返回结果对不对,所以我们这应该上面先写个他。这个思慕大家能跟得上吗?说白了,我就是想拿到你的返回结果嘛。而返回的结果是谁呢?其实就是他俩拼起来,中间是一个什么空格。那懂吧。到这能不能懂,那关键是怎么写啊。
19:00
我问,现在就直接他吗?是这个不。我先这样写上,咱们来看看有什么不妥的地方啊,来。回到咱们的这儿刷新一下。你会发现,除了没给我显示出来,他连我那个P标签都给我干没了。然后你去检查一下。有没有发现这报错了?报错,看看报的是什么错?First name is not DeFined。他说的是first name是不是没有定义,那没有定义这一块,你看一下我这有拼错吗。这肯定是没有拼错,而我上面是不是已经定义了,那现在为什么是没有定义啊。哎,很好。达尼猛的想到瑞,先说一下为什么,他说没有定义。我问他,我这最终想返回的这个first STEM是在水里面。
20:07
是不是在S人家这个作用对象里边啊,如果说你这样直接return的一个变量的话,它在当前的函数作用域找是不是没有。记住了,要结合我们之前学到的东西。在局部,你说函数作用没有,他是不是向外找,找到全局了,说白了他是问谁去要了。问window要有吗?没有,所以必然会报错,也就是你现在这个first STEM应该是问他要吧,两种写法。你可以直接Dollar school.first STEM,这必然能找到。还有一种写法是大家刚刚说到我是不是能利用呀?在这。为什么可以利用日?因为你很明显看到get内是不是对象的get内。好了,我们再来看看。
21:01
走,你。是不是就出来了,嗯,出来了,然后咔咔。啊。这就实现了刚刚那个功能。当然他能跟得上。能跟得上,问你几个问题啊。我刚刚说了。NG ctrler是不是要指向是一个构造函数啊?他这说的是安了会自动new这个割造函数。我怎么知道他遛我的呢?你们就。没有想了解这个的。你怎么知道它是拗过的,而不是自调用的呢?结合大家之前学的知识点,可以分析一下。还是刚刚那个问题啊,一个函数是被六部的,还是被自调用,或者是window点,或者是对象点去调用,看什么东西不一样。认不一样函数质调的是谁?
22:04
啊。文懂对象的函数调用类是不是对象另一个函数调用?函数的,这是谁?是它的实力吧,那也就是说如果是六的话,我在这个里边conso of degree,它是不是就是我的实例对象。这没问题吧?这跟不上,大家想来,我先把这个删了,我们之前比如说要写一个构造函数,你比如说来个大写的person,那么我们经常会这样写。然后name。等于内嘛,对。这没问题吧,Age等于一个age,那在这个里面的race是不是统一的,都是实例对象?而我new完的实力对象上面是不是自动多了内和A级的属性?
23:01
这没问题吧,那我打印这个,既然是实例,那么你们应该是结合一个运算图,叫instance of,这是干嘛的?哎,他不就是判断是否是谁的实力吗?我后边应该放谁。注意注意是谁的实力。不就是他吗?这不是构造函数吗?没问题吧,也是如果说他这输出来的是处。说明什么?那这意思就是它的构造函数的实例呢?说明就是被谬过了。能懂不?刷新一下来检查走你。没问题吧,嗯,就是这样的。行,那这样的话呢。我们这个作业对象和控制器对象讲完了,我先停一下,大家先。
我来说两句