00:00
好嘞,各位,那接下来呢,咱们就把天气案例呢,拿这个监视属性呢去写一写,其实监视属性啊,顾名思义就是监视某一个属性的变化,好在一的基础上呢,我复制一下,然后呢我把编号改一下,然后这名呢咱也给它改一下啊,来一个下划线监视属性,然后把这个名字呢给它复制过来,把这儿呢也改一下,无关的结构呢,我就往下删了啊,这两个不要了,然后呢往下滑动,说说我接下来要干嘛啊,刚刚啊之所以我能实现天气的切换,是不是因为我不断的在修改a hot的值啊,那接下来呢,我就想监测一下is hot的改变,就只要is hot变了,我就得知道,他得通知我,那怎么去玩呢?来把这个computed和这个methods呢折叠起来,目前我不需要往这两个配置项里面再写一些什么了,那我就折叠起来,省得它干扰你啊,来吧,在view里面你想实现。
01:00
监视你得用一个全新的配置,它的名字叫做watch,也很好理解吧,本身它的含义就是有观察什么观看的意思,那在我们这里呢,就是监视的意思,它的值呢,是一个配置对象,为什么是配置对象呢?那你想我要监视谁,我怎么监视,我得写一堆配置吧,所以说写了一个配置对象,首先说说你想监视谁,直接写那个人的名字啊,我想监视its hot,那你就写key是it hot,那具体怎么监视呢?还得写一个配置对象。同学这种形式呢,你应该比较熟悉了,我先把文件保存一下,你看看啊,咱刚开始去讲这个计算属性的时候呀,你看这是同学,我写comput啥意思,就是要计算了,那计算出来的东西叫什么名啊,Full nameme,那具体怎么计算呢?是不是又写成了一个对象,对象里面包含啥,读取的时候用的get,还有修改的时候用的C,你说对吧?哎,这形式呢,都是很类似的啊,把它关掉来,回到咱们这个里面走,那这里面啊,你。
02:00
注意,我可不写geter了啊,我写什么呢?看着有这么一个东西叫做handler函数,哎,我就直接告诉你它是函数,那问题是这个handler它有什么作用呢?或者说handler已经是一个函数了,那它什么时候调用呢?同学你能猜得到就是当谁呢?当这个a hot呀发生改变时,它就调用。那我们怎么验证呢?很简单,在这里呢,我来一个conslo啊,然后说一下叫做A字hot呀,被修改了,咱看看它能不能实现右键,然后呢打开。好,切到控制台刷新一波炎热吧,现在切换变成凉爽,再一点变成炎热,对不是不是,它能发现a hot被改了,哎,好,回到代码中,它不仅能发现a hot被改了,它还会把a hot修改前的值给你啊,也会把a hot修改后的值给你,靠什么呢?靠参数有两个我就直接告诉大家了啊,一个叫做new value,你说顾名思义啥意思呀,新的值,那还有一个叫做什么呢?Old value,好,那我先把这个新的值输出,随后再输出那个旧的值。好吧,来瞧一下啊,刷新现在是炎热,一点击变成凉爽了,那你说新的值是多少啊,False,所以才是凉爽吗?那旧的值是多少啊,True对吧?OK,那你看这不就能监测到这个东西的修改吗?说老师那是能监测到有啥用啊。
03:34
哎,可是呢,你说有啥用啊,各位你想想,如果我存的不是a hot,而是一个温度对吧?那你说我在这儿就能做一个逻辑,我拿新的温度减去旧的温度对吧?如果这个温度差呢,达到了多少,那我可能做一些后续的动作,比如说提示他多穿衣服呀,哎,或者说往后台发一个请求什么的,对吧?所以说同学你想这种场景挺常见的,我对一个数据进行监测,对吧?然后再进行一些对比,然后再走一些逻辑对不?哎,好啊,那我们再说一下啊,各位,这个A字hot呢,毕竟是一个配置对象,你看你写的是不是一个对象呀,那对象里面目前你只写了几组配置呢,一组。
04:15
名字叫做handler,它的值呢是一个函数,那这样的话,同学你就只用到了这么一个handleler配置,其实它还有别的配置的,各位啊,还有什么配置呢?简单给大家说一个,呃,好理解的吧,啊有这么一个配置叫做immediate,同学,Immediate什么意思呀,立即的马上的立刻执行的,对吧,它呢是一个布尔值,默认呢,它的值呢是false,如果你把这个immediate调成true,那你自己看一下各位,我先不加这个immediate,那你看一上来handleler不执行吧,你只有变化的时候,Handleler是不是才执行好回来,但如果你加了这个immediate,哎,就有意思了,你瞧一下各位啊,刷新。我是不是没有让那个a hott发生变化呢,但是你发现咋的,诶,他一上来是不是也执行了呀,各位好,哎说老师那这东西有什么用呢?目前来看啊,好像没什么用,对吧,你变化的时候我再发现再告诉你我变了呗,啊那不用一上来就告诉我呀,啊那咱说说这个配置是干嘛的,写好注释啊,叫做初始化石,然后呢,让这个handle德ler直接把名字拿过来,然后呢调用一下。
05:28
哎,好说老师,那还有没有别的配置啊,其实这里边同学还有别的配置,但是在这一小节呢,我们不去提那么多,其实这里边还有什么深度监视,咱这儿不提那么多对吧?哎,就先写到这儿,那其实配置监视啊,还有另外一个办法,各位啊,就不仅仅是说你在这写这watch,其实还有一个别的办法啊,那在说这个别的办法之前吧,我再给你说一个细节上的点啊,就是为以后的这个路呢扫清一些障碍。同学,你说我刚才监测的是谁?是不是a hot a hot是谁?是我自己亲手配置的属性对不对?监视属性监视了a hot,那我想问的是computed里面计算出来的属性是不是也叫属性啊?问题是他能不能监测这个info呢?
06:15
对吧,正常属性能减十,那计算出来的呢,验证一下呗,在这写谁info那里边这些东西都不用变,这写一个啥就得了呀,Info对不好了,回来刷新,同学你看没等我点呢是吧?哎,在这儿他就输出了,说老师这为啥是andde fun呢?那也跟大家说一下,各位你说我没改呢吧,我还没改呢,那一上来是炎热,那new value流就是炎热,但是我没有改呀,那你说它存在旧的值嘛,不存在那就是什么呀,And find对吧,各位,哎,其实刚才呢,我监测谁的时候也是呢,各位这a hot你瞧嘛,我把这也改一下,走诶一上来你看。你炎热呢,就是为真呗,那之前的值呢,没有之前的值还没变过呢,对吧?哎,好了回来,那能不能监测这个info呢?答案是可以的啊来我们看一下,在这呢,给它改一下info好了,回到这儿刷新一上来,是不是先执行一下,然后等你切换的时候,诶你看凉爽炎热炎热凉爽都能捕获到,好,那然后呢,我们再说另外一个配置的方法啊,就不一定你非得写这个watch,你还可以有另外一个办法,那这样啊,我先把这折叠起来,我还是正常啊监测我的is hot。
07:24
好嘞,还有一个办法就是不在这儿写这个watch配置,嗯,那怎么写呢?同学,通过VM你也可以实现一个监视,它是这么写的,首先你得保证实例已经创建完了,创建完实例之后呢,你来一个VM.dollar符,身上有一个watch也能实现监视,他呢,传两个参数,第一个参数就是你告诉人家你要监视,谁说我要监视a hot就写在这儿,你这么写就会报错,为什么呢?你看看他报什么错误啊,Is hot is not DeFined同学,你这么写它是不会读取is hot那个变量,说老师,那我之前这么写它咋行呢?在这里面怎么可以呢?同学,这个里面你用的对象的简写形式,这个is hot不会触罚读取变量的,你说对吗?说的再直白点,这个东西原始的写法是这样写的,只不过呀,我们写习惯了那对象里的key啊,从来不自己包那个引号直接写对不?哎,这是一个基本功好。
08:24
把这不墨迹了,把它折叠起来啊,然后看这怎么写,首先你得这么告诉人家引号,哎回来引号is字hot,那我监视它,具体怎么监视呢?你这得传一个配置对象,那配置对象里面怎么写呀,原来的配置对象怎么写,这个里面就怎么写,一模一样,所以说把这一堆给它复制,往这一粘贴就可以了,然后缩进呢,给它调一下,同样能实现监视,好回来我们看看一上来执行了吧,诶切换切换切换是不可以说老师呢,这两种方式我用哪个呢?同学是这样的啊,如果你很明确你要监视谁,就是在创建实例的时候,你已经想明白了你要监视谁,那就直接写watch这个配置,但是如果说我创建实例的时候呢,我不知道我要监测谁,后续呢,根据用户的一些行为,然后我才知道,哎呀,我得监视啊,那你就调这个API就可以了,对吧,配置橡胶watch,那么VI。
09:24
M身上这方法叫什么玩意儿啊,叫Dollar VO OK,诶跟这个的用法呢是一样的,这里面呢,还有一些其他的点啊,我们没有提,在这呢,我们只是进行一个基本的使用,好吧各位其实呢,也有简写方式,但是在这一小节呢,都不提,好吧,这小节就写一个完整的好两种配置方式,那我们总结一下吧,各位来来到最上方走读一下监视属性,首先当监视属性变化时,回调函数自动调用,那个回调函数指的是谁呀?这个里的handler,还有就是谁呀,这个里边你写的这个handler啊来再读第二句啊,就是监视属性必须存在才能监视,诶这是一个特别重要的点,各位你看刚才啊,我说我监视的是谁is hot还可以监视谁呀?是不是这个info呀?那你说同学我要这么写呢?我说我监视的是ABC,这就有意思了,各位。
10:17
属性里有ABC吗?没有,那计算属性里呢,也没有,那同学这就是属于你要监视的ABC是不是不存在呀?哎,那你猜它报不报错呢?回来啊,各位,它不报错能正常的,哎,Immediate执行了一次,同学ABC没有值,所以说new value and find呢,那更就谈不到旧的值了,也是安范的,所以说同学这么写是不对的啊,你写ABC它没有啊,它怎么监视啊,好,回来啊,但是他不会报错,哎,这是一个重要的点。好,再读这个监视属性的两种写法,第一种写法呢,就是new的时候传入watch配置,第二种呢,就是VM.dollar watch,好吧,哎,那这小节呢,我们停一下。
我来说两句