为什么要重新赋值?

为什么要重新赋值?

问题描述:

为什么要重新赋值?引用数据类型地址不是一样的吗

相关截图:

https://img1.sycdn.imooc.com//climg/624bb9e009ed6cdd10870732.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,这是因为要改变数据重新赋值,将其添加到state下的cartList中,如果不补充新改变的cartList[shopid],就不会触发响应式的处理逻辑,因此,页面就不会渲染。也就是说,必须这么写才可以,如果不手动改变state里面的数据,就不会重新渲染页面。

祝学习愉快!

  • _今天天气好 提问者 #1

    为什么前面两个方法要重新赋值,后面两个又不用重新赋值呢?


     https://img1.sycdn.imooc.com//climg/624ec3a809e56ac209621270.jpghttps://img1.sycdn.imooc.com//climg/624ec3c2091c5bcb10840794.jpg

    2022-04-07 18:59:02
  • 好帮手慕久久 回复 提问者 _今天天气好 #2

    同学你好,解答如下:

    前两个方法中,赋值的数据之前可能并不存在,或者数据中部分属性可能并不存在:

    https://img1.sycdn.imooc.com//climg/624fa122096578f207580498.jpg

    https://img1.sycdn.imooc.com//climg/624fa2d3096df98407230432.jpg

    如果一个数据缺少了很多内容(缺少很多属性、或者自身可能都不存在),那么最简单的做法就是把这个完整的数据创造出来,然后添加到原始数据中(方式1)。添加到原始数据中的方式就是赋值语句,即“xxx=bbb”:

    https://img1.sycdn.imooc.com//climg/624fa15d099de91d05420108.jpg

    https://img1.sycdn.imooc.com//climg/624fc73b0955192607250486.jpg

    如果数据已经存在,那么直接修改就行(方式2):

    https://img1.sycdn.imooc.com//climg/624fa34b09209fb805280166.jpg

    这是两种不同的数据处理方式。

    在vue中,如果方式2的办法没法实现效果,那么就使用方式1试试。

    2022-04-08 10:55:53
  • _今天天气好 提问者 回复 好帮手慕久久 #3

    终于明白了!非常感谢!

    2022-04-08 12:23:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师