left.js right.js shopBar.js 中绑定了三次的itemData

left.js right.js shopBar.js 中绑定了三次的itemData

这三个文件里绑定了三次itemData,我原本以为它们是没关系的,但是看老师说它们都是同一个数据【

window.food_spu_tags = data.data.food_spu_tags || [];

】的一部分,不知道是不是我下面说的这几个部分?


1、首先在left.js中将itemData进行绑定

http://img1.sycdn.imooc.com//climg/5f17d69f091368fe07790402.jpg然后将绑定的这部分数据传给右侧列表

http://img1.sycdn.imooc.com//climg/5f17d6be096c5be807210376.jpg

这里传入right.js的就是window.food_spu_tags的子项。

2、再在right.js中绑定这部分数据

(1)http://img1.sycdn.imooc.com//climg/5f17d6ec09fcd4b602570103.jpg

(2)http://img1.sycdn.imooc.com//climg/5f17d6ff09e08ede04280192.jpg

(3)http://img1.sycdn.imooc.com//climg/5f17d72b092dd9f607760642.jpg(4)再对绑定的数据进行修改http://img1.sycdn.imooc.com//climg/5f17d7b209cb147f08520459.jpg

3、在shopBar.js中,绑定的却是window.food_spu_tags的子项的spus数组的子项

http://img1.sycdn.imooc.com//climg/5f17d8de09a8a47607380629.jpg

http://img1.sycdn.imooc.com//climg/5f17d8ef097fa76607580629.jpg

后面使用的也还是这里绑定的itemData

http://img1.sycdn.imooc.com//climg/5f17d97909bbb34507520562.jpg


我上面的这些理解正确吗?

如果正确的话,这三个地方绑定的itemData不是同一个对象的呀,怎么可以实现right和shopBar的商品数量同步的呢?

正在回答

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

2回答

同学你好,理解的有点问题。

left.js绑定的是window.food_spu_tags中的,一个选项卡对应着右侧自己的数据。

right.js绑定的是window.food_spu_tags.spus中的,一个商品对应着自己的数据

http://img1.sycdn.imooc.com//climg/5f18e8f3094ad99304780110.jpg

shopBar.js绑定的也是window.food_spu_tags.spus中的,一个商品对应着自己的数据

http://img1.sycdn.imooc.com//climg/5f18e9010946983907230303.jpg

right.js和shopBar.js绑定的数据地址一致,所以一个改变之后,另一个也会改变。

left和right联动,左侧点击哪个右侧显示相对应部分。right和shopBar联动,修改右侧哪个商品的数量,购物车也会跟着改变。

祝学习愉快!

好帮手慕星星 2020-07-22 17:32:59

同学你好,理解的没有问题。

虽然绑定对象不是同一个,但是绑定的值是同一个,地址是一样的。例如:

http://img1.sycdn.imooc.com//climg/5f18077d0941d5e803540255.jpg

将obj对象赋值给obj1和obj2变量,然后通过obj1和obj2修改对象中的值,最后输出obj对象

http://img1.sycdn.imooc.com//climg/5f18077709ec780703610032.jpg

可以看到是改变的。多个对象指向的是同一个地址,其中一个改变,都会改变的。

自己再理解下,祝学习愉快!

  • 提问者 Aurora_Meteor #1
    left.js绑定的是window.food_spu_tags的,right.js绑定的是window.food_spu_tags的子项,shopBar.js绑定的是window.food_spu_tags的子项的spus数组的子项,但是它们在修改商品数量的时候都是直接修改绑定的数据的chooseCount,为什么呢?我感觉它们不是指的同一个地址的内容啊从left到right再到shopBar,不是越来越向内了吗?
    2020-07-22 19:26:03
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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