00:00
来,我们继续啊,接下来是兔肉和肉这两个组合API还是挺有意思的,一个可以把代理对象变成普通对象,另外一个是什么呢?让当前这个对象再也不能变成代理对象了,听起来好像是类似啊,但是我们通过代码的方式呢,大家来看一看啊,也比较简单。嗯,还是把之前代码做一个保存吧,那我就把这块他们两个复制下来啊。来一个新的目录。这一个是14杠。拿过来。然后把这个APP直接放进去。那这个APP当中代码呢,咱们就不要了啊。直接来个VV3。啊,这个关掉。好,H2啊,这个是什么呢?嗯,兔肉。Raw和什么呢,Ma?我还是啊,在这里边要展示数据啊,我用的是H3,来一个state吧。State之后呢,呃,我要给大家去看效果,所以说我再来个HR。
01:02
来两个按钮吧。这个是测试图,Raw。CTRL对型测试ma。那里边儿我都给它写上,点击视角。的图中。把它复制一份。啊,这个是test mark中。啊,当然啊。我们在下边需要有一个setup。Return回来这么一个对象,State test to肉,还有一个test mark。State就是一个数据了。我这里边state通过的方式。给他一个对象啊,简单一点,那我这里边先给他一个name吧,啊,小明,然后再给他来一个age,来一个20之后呢,下边cost这个是test to肉给他这么一个回调啊。
02:01
下边还有一个constant,这个是test的maro。因为我要用到这个兔肉和马肉,我在这儿啊,就直接引入了一个是兔肉。好,还有一个是马可肉。啊搞定啊呃,为了不影响这个程序运行的报错,它可能会报错啊,所以说我一保存大家可以会看到他会报错啊,它真的会报错啊。然后我们可以看一下。这里边是不是报错了吧啊,他说two肉和maro is DeFine but never use,那我用一下呗,是吧,而且啊,就即使说我不引入,他现在也会给我报这种错误。大家看一下,我一刷新发现了吗?啊,为什么。他说我当前的这个函数里边没有写代码是空的,所以说他也给我报错,大家看啊,这是为什么说我定义了这么多个函数,然后我在里边就不写内容,也要给他写点东西。哎,现在我们再来看,这就是ES的语法检查的问题啊,这不管没事。
03:00
好,我们现在看我上面这两个加上来啊,有一个是to肉啊,还有一个是什么呢?先行了,那个一会儿用的时候再说啊,我做一件事情就是cost user,等于直接通过当前的这个什么呢?To。把那个state给塞进来,塞进来之后呢,注意啊,现在就什么呢,把代理对象变成了普通对象了,大家想啊,如果代理对象变成普通对象,如果数据变化,界面变化不不变化,因为不是响应式的数据嘛,所以说user点内我们给他写个加等于。这个时候我们再来看一下。打开界面好刷新。看好点啊。是不是没有效果吧,啊,也就是说是不是你这个方法没执行,肯定执行了。哈,逗号,我好帅哦。我保存啊,大家看一下。我测试是不是执行了吧,但是界面变化了吗?没有说明上边的这个state代理对象确实已经变成了普通对象了,这就是图中它的能力啊,下边测试这个。
04:04
啊,比如说state.like like like等于一个速度,比如你就吃喝玩乐嘛。吃喝啊好,哎报错了,我们看他为什么报错呢,说你这个state里边带对象当中有这个like属性吗?没有。是不是你都没有这个属性后添加的,那你总要告诉我这个类型是什么吧。那怎么办呢?最简单的方式就是在这写个any类型,Any类型这就可以了,大家可以看一下是不是解决了吧,但是我们尽量不用any,我用这种方式use in,看看大家能不能猜出来泛型吧。是吧,然后我通过这个什么接口的方式去约束它的类型,那所以说来一个interface啊,User,诶大写user a user。整的都整的,我都没有自信啊,Name字号类型,然后呢,A number类型是不是。格化啊,这这个得加分号,你不加分号,它E的语法检查会报错的啊好,那现在我们再来看啊,我让他去干嘛呢?要注意啊,我现在只有一个name和A,那我就加了一个like怎么办?
05:10
嘛,加个问号嘛,是不是,然后呢,给它来一个字符串的数组吧,我里边写的都是字符串的数据嘛,啊,那这样这个错误就没有了,我已保存啊。好正常是吧,嗯,啊,这没有加分号。保存一下。那现在我们来看是不是正常了吧,好,我给它加添加这么一个属性,这个属性呢,是一个数组,然后呢,同时我通过state.x然后呢,还有一个什么呢,零吧。哎,我加等于给他来一个什么呢,等等我们去改变一下它的数据啊。但是我这边还得加分号。一不小心格式化了,这方号就丢了。这是我VS扣的问题啊,你有去改。好,我们现在来看啊,刷新。我点一下诶。是不是新加了一个属性吧,而且这个是数组,数组里边数据变化没有变化了,变化了好注意,它之所以能够变化因为什么?因为当前这个数据。
06:04
可以变成一个什么代理的数据了啊,代理的对象了,对吧,当然这一点咱们可以再来看啊,可搜点框state嘛。那一点咱们来看一下是不是代理一项吧,啊,Target当中是不是like也有啊,OK啊,那我现在希望什么呢?我现在希望是后添加的这个属性。他永远都不能再被标记为代理校了,你只能去用,不能随便去给我修改去。好,那怎么办?哎,这个时候看啊,这我就注意掉了啊,不要了。行了,我都注释掉啊,都注释掉怎么做啊,这么走state.like等于有一个马肉。哎,引进来啊,看一下上边已经进来了啊,马克肉里边我再来一个什么,哎,他。啊,当然了,这个位置的话,我先来一个。Cost,好,Cost like等于它,然后把这个likes丢进来。
07:03
然后呢,我现在比如说我来一个定制器set。啊,我通过定时器去改里边的数据啊,咱们看看能不能改。cons.log括号测试啊,这个是什么呢?啊,定时器走起来好,我写这句话的目的是告诉大家,这个定时器肯定是在执行的,然后呢,我通过state.x里边的这个零。为它加等于一个新的数据啊。然后呢,我们去保存一下。好之后呢,我们来看一下,诶这块报错了是吧,Stay点直接报错了。此时我们可以看到界面里边也有问题。啊,所以说呢,他不确定啊,不确定你这个东西有没有啊,所以说我们这样啊。去stay点。做一个判断啊,有的情况下我再去改吧。是不是啊,同时呢,我把这句话也给大家放到里边去,让大家可以清楚的看到,看到确实能够进来,电视器也确实走起来了啊,那我上面还得加分号。
08:02
保存一下。然后现在我们打开界面啊,看一下刷新注意啊。我点一下我们看啊,确实有这个数据定时器呢,也确实走起来了,但是注意这里边这个数据还能不能改了呢,不能再改了,为什么?因为通过mark肉已经标记了me。Raw标记的这个对象数据逗号从此以后都不能再成,为什么呢?再再成为代理对象了啊,你想啊,他如果不是代理对象了,那么它的数据变化,那这边还能更新吗?就不能更新了是不是好,那刚刚呢,给大家去介绍了两个啊,当然啊,我现在我把这个也保存起来啊。好,那是兔肉和马肉,复制一下。放到这个里边来新建一个目录啊,这个是15杠。然后呢,把当前这个APP当中APP文件。放到这个第15个里边来,APP当中代码我都不要直接变成VV3。
09:06
OK,那我就先放到这里边来啊,这个div也不要了啊。先写点东西吧,没差。测试。好搞定啊。
我来说两句