00:00
好,接下来呢,我们来看一下实例的生命周期,首先呢,我们先创建一个文件。好,同样的,我们把DEMO给他复制过去。好,接下来呢,在这个实力的呃,生命周期这个地方呢,我们呃这个举这样的一个例子哈,嗯,首先呢,我们在我们的这个页面当中呢,创建一个。Message啊,这样的一个内容啊,这个内容呢,我们打算呢,呃,通过各种各样不同的方式呢,给它做一个取值,然后看一看呢,在实力的不同的生命周期啊的这个方法当中,它取的值呢,会有一个什么样的变化,或者是说啊,它会,呃在整个的实例的生命周期啊的过程当中,这个message呢,它是如何被创建出来,以及如何被获取出来,如何被渲染出来的,所以呢,我们先定义出来啊它那首先呢,我们在这个地方。
01:03
你写一个data好,然后里面呢写message好,那我们就还写刚才那天的那光,然后接下来呢,在div里面,我们把这个内容呢,给它展示出来啊,那比如说我写在这个H1里面,然后呢,展示的话呢,跟我们上午学的一样,就是在这面我们写MY写好,这个是我们的一个基本的定义,那我们先来看一下。呃,这个基本的内容呢,就会展示到这个位置了啊,接下来呢,我们呃来说一下实例的这个生命周期函数啊,实例的生命周期函数呢啊,其实有很多啊,嗯,这个对于我们来说呢,就尤其是对于我们后端同学来说呢,有一些比较复杂的,而且基本上用不上的那些,那我们就不讲了,我呢只讲两个我们平时呢经常用到的,而且呢也比较好理解的这两个,第一个呢就是create啊,大家先从字面的意义先想一想它是什么意思,第二个呢是market。
02:13
好,那么字面上的意义呢?Create就是创建完成之后,好啊,字面的意义就是渲染完成之后。好,这是两个,呃,生命周期函数,那之所以是生命周期函数,就意味着它是在整个实例创建渲染的过程当中自动被执行的,哈,好,那我们就在这个地方呢,写一个。Pencil打印一个日志,这个呢是有实例创建完成哈,然后这块呢是pencil.log这个呢是嗯,View页面渲染完成啊好,然后接下来呢,我们来先,嗯,先看一下我们这个啊两个部分的内容呢,都它的这个执行的顺序。
03:17
好,那么很明显,创建先执行,渲染后执行对不对啊好,那首先呢,我们先明确了它的先后关系啊,这个呢是先执行,然后呢,这个是后执行,好接下来呢,我们再来看一下,那么先执行和后执行这个顺序我们明确了,那么其他的方面的内容有没有什么区别呢?我们来看一看,是不是能够在创建的过程当中和渲染的过程当中获取到我们data当中定义的这个数据模型,那么怎么去看呢?那首先呢,在这个地方我们可以去复制一下这个内容。比如说message。
04:04
Create中获取message的定义哈。好,那我们写第四点啊message啊,然后接下来呢,就是mount mount这边也是一样的,我们写mount中获取message的定义,然后第点message看一看呢,在credit和mount当中能不能够拿到我们的view实例当中定义的这样的一个message模模模型对象,好。然后我们看一下create中获取message的定义,床前明月光好拿到了,Market中获取message的定义,床前明月光好也拿到了,那么这样看来的话呢,这两个部分的内容是没有区别的,为什么?因为create是实例创建完成,只要我们的实例创建完成了,那么这个里面的相这个data相当于你可以把它理解为我们Java类当中的成员啊好,那这个data成员就已经创建完成了,Data成员创建完成了之后呢,那我们里面所对应的message属性呢,就已经初始化完成了,所以呢,在print里面呢,是能够拿到这个message的,那既然mount它后于print执行,所以在mount里面呢,也是一定能够拿到mount的啊,所以说是先执行啊,但是呢,它是可以访问的,可以访问的数据模数据模型啊,然后这个呢,是后置型,也可以访问到,好也可以访问到。
05:39
数据模型,然后接下来呢,我们再来看一看,能不能访问这里面定义的数据方法呢,比如说这个地方呢,我定义一个my sir method啊method,然后我们随便写一个方法,那我给它起个名字叫瘦,那这瘦呢,实际上就是把我们的呃。
06:00
这个给它打印一下,有访问show方法是吧,好,然后接下来呢,我在这个credit里面呢,我也访问一下手,The mountain里面呢,我也访问一下手啊,所以呢,这面我就this啊点手好这边也是一样的这点手。好,然后呢,我们来看大家看访问受方法,这个呢是在第42行执行的访问受方法,这个呢是在这个是在哪,也是在第42行,因为受方法本身就就在42行,对不对,那但是呢,都是我们在这个,这个是在created当中,然后访问的受方法,这个是在mount当中访问的收方法,所以呢,这个受方法本身的打印是在42号,但是它呢被调用了两次,一个呢是在create当中被调用的,一个是在market当中被调用的,所以呢,也可以访问到什么呀,也可以访问到,呃,这个成员方法。
07:11
这面也是一样的,可以访问到同源方法,那么貌似看起来呢,除了先后的关系之外呢,它们好像就都差不多,那它的区别在哪呢?它的区别就在这是否渲染完成,那这个呢叫渲染完成,这个呢叫创建完成,那肯定就是渲染之前对吧?啊,因为它先执行,它后执行,所以它是渲染之前,什么叫渲染呢?所谓的渲染就是把这个message真正的替换为message所代表的这个数据啊,那如果没渲染是什么样?没渲染呢?就是这个message渲染完了呢,这个message就变成传奇明月光了,所以我们怎么来判断一下啊,它到底是渲染的还是没渲染呢?我们可以用一个传统的方式,就是在这个H1这块呢,我们给它一个ID,我们呢,用传统的方式呢,把这个啊元素的内容给它取出来,看看它到底是什么,所以这块呢,我们写一个H1好,然后接下来呢,在。
08:05
这个create这个里面我们写一下this第二啊,然后怎么样获取到的,呃,怎么样获取到这个。不写this啊,我们想获取到这个he,怎么获取呢?我们用一个传统的方式就是document.get element by ID,然后呢,我们去获取到那个名字叫做H1啊的元素啊,也就是说根据这个ID啊获取到整个这个h he的元素,然后接下来呢,我们找到它里面的内容叫inner text,也就是说这个inner text呢,实际上是找到he元素中间的这部分文本内容,我们看一下这个文本内容是什么,所以呢,我们把这个呃元素呢直接给它打印出来啊,pencil.log叫inner text,那这块呢,我们是啊。
09:01
Career k中获取一元元素的内容,好,然后接下来呢,我们再在mount里面呢,再给它打印一下,这个呢是mount中。获取一元素的内容,那我们来看一下。大家看这个时候就有区别了,那么在credit当中我获取到的一元素的内容呢,就是这个双大括号message,那么在market当中我们获取到的H1元素的内容呢,就是这个床前明月光,所以呢,你会发现这个其实就是渲染完毕的一个效果,那这个就是没有被渲染的效果啊,好,所以这个就是credit和mount的一个最重要的一个区别了,那这个我们就是我们讲的这两个啊,非常重要的生命周期函数。
我来说两句