00:01
好呃,下面呢,我们来完成这个啊,就是对购物车的这个。数量做操作。那么我们在这里呢,需求是这样的,购物车数量呢,不能减少为零,也说到一的时候它就不能再减了,加的话呢,正常来讲,如果有库存的话,他也不能无限的加,但是咱们这里就就定义它都会加的。这是减,减到一不能再减了,你想删除得点管理进入删除页面去删除,那么在这里它不能去删除。好,呃,所以我们来一起做一下。首先当它数量为一的时候,我们来看一下,这里就会有一个一个这样的文字,我们要把文字呢,让它变成不能删除的一个颜色,也是它颜色要改一下,所以说咱们的这个class呢,是个动态的class,它不是一个写死的。好,到底动态不动态,看的就是这个负的amount。
01:04
对吧,如果它等等于一。说明什么呢?说明它就不能用了啊,就需要加个类名,呃,加个类名的话呢,我们就叫disabled。那么disable的这个属性也很简单啊,就是color一个灰色,OK,那么我们可以看效果。呃,其实这里就已经出现了,就是。呃,效果。有有明显吗?应该是有明显的啊,我们来看一下这个disabled是给这个文字加的,没错啊,Color green。那么它其实已经变成灰色了,只是这个灰不太明显啊,我们井号CC看一下是不是会更明显一点。
02:00
对吧,诶可能这个CC呢,会更明显一点啊,注意一才不能减,二是能减,所以说二这里是高亮的是没问题的,但是一这里是变灰色,OK没问题,我们就判断这个啊。然后接下来呢,我们来做加和减。这里的加和减就简单很多了,就没有这么复杂了,我们甚至可以定义成一个函数。叫做更新class的一个number啊,更新它的一个吧,一个数量。啊,首先第一个你要告诉我更新负的。视频啊,更新cat还是叫更新它的一个数量,首先我们需要我们来看下接口文档啊,添加接口呢,我们需要传的是负的ID。还有这个shop ID,然后对它进行更新。
03:00
在这里呢,我们就可以传当前的这个卡。啊,数据首先它需要负的ID和硕ID嘛,对吧,那么cut.shop ID就是它的硕ID,然后在负的点ID,这是负的的ID,然后以及它要更新的数量,对吧。呃,我们要对负的做操作,所以传整个负的就好了,传整个负的,然后它到底是一还是二,我们传一个值,OK,然后呢,这个减的话呢,也是一样的,就是它乘一个负一,它是个负一,后面就是要加一还是减一啊。来,接下来我们就可以操作这个更新购物车数量。第一个是说的ID,第二是负的数据,第三个是我们要更新的,大概这个数量好更新呢,整个分为发送请求更新服务器的数据。
04:02
然后还要更新咱们页面的数据。对吧,那么发送请求点。APID。You。Dont method with p。然后请求方式,请求地址来一起来写啊。找到咱们的这个。接口文档。找cat。找到我们的。添加。OK,呃,这个添加呢,我们请求方式,请求地址就是这个。当然它要加整体的一个数据啊,我们通过cut去测试一下,得到它前面的前缀。然后后面的后缀呢,在这里得到at car。POS请求参数得放在data中的玻璃里面,然后呢要转换成Json数据。
05:06
所以说我们在这里要整理这个,我们要发送其他的数据,整个数据呢,通过文档这里能知道我们需要传的是三个数据啊。ID shop ID。刷大呢,直接点负的ID的话呢,用负的点ID。的默认值是,它是什么就是什么啊。对吧,那么我们这里还是用food的。它是什么就是什么数量的话呢,很简单啊,就是我们拿到负的点amount。去操作啊,我们对这个数量呢,直接进行操作了。来,其实这里就是更新页面的数据啊。加等于我们这个month,如果是负一,它就会减一,如果是一就会加一,更新完之后呢,我们直接把这个month复制上去,所以这个就是我们请求的数据。
06:09
放在这里,然后呢,还要指定一个。Content type。喂。Application感觉好,呃,做好之后呢,我们在后面加一个回调,在回调里面我们去对吧。第一个是数据嘛。点是。我们这里呢,成功的就不需要做别的事了,我们就如果如果没有这个数据,那么我们就提示error就好了。好了,到这里呢,我们就把这个更新购物车数量的功能写好了,下面我们一起看效果啊。来我们呢,前面去交易。
07:02
加。加二加三加四加一加二啊对吧,他都是OK的,没问题,它的确可以展示啊,展示是成功的。目前这个颜色呢,它没有产生预期的变化。我们一起来研究一下。这个原因呢,其实就是咱们这个类名啊,一旦加上去,它就不会再取下而来,所以就导致咱们的这个颜色呢,它一旦有一个有一次为一,它就再也不会变了。怎么办呢?来看啊。我们可以整两个test,一个是有第三属性的。一个是没第三属性的。好啊,有第三波属性呢,他就没有点击事界啊,他就不能点,那么没有第三啊,没有第三波属性的话呢,他就能点。就这个,我们有两个紧在这。两个几在这啊,好,呃,他们要做的就是干干要死。
08:07
这个big if for。如果等等于一,它就应该禁用。那么下面这个就是干。对吧,等于一就禁用,不等于一就不禁用,这样能达到一个效果,并且还能解决就是啊,咱们这个它等于一不能再减的一个问题。好,这时候呢,我们来看效果减减,诶它等于一就减了,减减减减减OK,但是看似好像可以的时候呢,当我们再加你会发现,诶,它竟然还是个灰色的,这咋回事呢?它的确你减到一的时候减不动了,我再点减它减不动了,就说明其实我们这一个已经生效了,但是为什么下面这个它这个样式没生效呢。这个就是它底层的更新逻辑啊,它更新逻辑的时候,它功能是更新上去的,但是样式它没有更新上去,所以这时候要解决的方式就叫key属性。
09:05
给他加一个key属性就好了,给他每一个游戏加个V的key属性,它更新的时候就会,呃,可以解决这个问题啊,加了维的key属性,我们来看一下。我们减到1OK,它禁用了,再加加加,诶你看一又回来了。所以说这里呢,我们需要给它加一个key属性啊,那么就可以解决这个更新的时候,它没有及时更新的这个问题。好了,那么现在呢?我们就完成了这购物车的数量的加和减。
我来说两句