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

来源:3-1 课程总结

Aurora_Meteor

2020-07-22 14:16:28

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

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

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


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

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

http://img.mukewang.com/climg/5f17d6be096c5be807210376.jpg

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

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

(1)http://img.mukewang.com/climg/5f17d6ec09fcd4b602570103.jpg

(2)http://img.mukewang.com/climg/5f17d6ff09e08ede04280192.jpg

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

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

http://img.mukewang.com/climg/5f17d8de09a8a47607380629.jpg

http://img.mukewang.com/climg/5f17d8ef097fa76607580629.jpg

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

http://img.mukewang.com/climg/5f17d97909bbb34507520562.jpg


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

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

写回答

2回答

好帮手慕星星

2020-07-23

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

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

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

http://img.mukewang.com/climg/5f18e8f3094ad99304780110.jpg

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

http://img.mukewang.com/climg/5f18e9010946983907230303.jpg

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

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

祝学习愉快!

0

好帮手慕星星

2020-07-22

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

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

http://img.mukewang.com/climg/5f18077d0941d5e803540255.jpg

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

http://img.mukewang.com/climg/5f18077709ec780703610032.jpg

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

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

0
hurora_Meteor
h left.js绑定的是window.food_spu_tags的,right.js绑定的是window.food_spu_tags的子项,shopBar.js绑定的是window.food_spu_tags的子项的spus数组的子项,但是它们在修改商品数量的时候都是直接修改绑定的数据的chooseCount,为什么呢?我感觉它们不是指的同一个地址的内容啊从left到right再到shopBar,不是越来越向内了吗?
h020-07-22
共1条回复

0 学习 · 6815 问题

查看课程