双向绑定没看懂
来源:2-6 详情页-购物车(6)
一拍
2020-05-20 12:05:19
function addClick(){ $('.shop-bar').on('click', '.shop-icon', function(){ $('.mask').toggle(); $strTop.toggle(); }); $strTop.on('click','.plus', function(e){ var $count = $(e.currentTarget).parent().find('.count'); $count.text(parseInt($count.text()||'0')+1); var $item = $(e.currentTarget).parents('.choose-item').first(); var itemData = $item.data('itemData'); itemData.chooseCount = itemData.chooseCount + 1; renderItems(); // 找到当前的右侧详情的数据,进行联动 $('.left-item.active').click(); });
能详细中间的传值过程吗,理不清了
2回答
同学你好,关于同学的问题回答如下:
1、先看点击右侧,下面自动渲染。这个视频老师分析过思路的,在视频https://class.imooc.com/lesson/1015#mid=24478大概4.50秒左右。方式是每点击一次右侧的加或者减,会根据chooseCount字段进行判断是否有这个内容,然后将其渲染到下方。我们可以举个例子看下,拿麦辣鸡翅来说:
将chooseCount信息打印出来:
(1)当页面初始打开,什么都没有点时,麦辣鸡翅是0个,当我们点击一次加号后:
(2)再点击一次,也就是选择两个麦辣鸡翅:
(3)视频老师就是通过这个字段实现的,如果chooseCount字段有值,就将其渲染到下方:
每点击一次右侧的内容,就会全部重新判断一次,执行一次重新渲染。
2、再看点击购物车,实现右侧的联动。同样是根据chooseCount字段进行判断:
同学可以参考上面的思路,去查看当点击购物车里面的加号时,chooseCount字段的变化。当我们在购物车点击加号后,这个的chooseCount已经变为了2:
那么再去借助一旦我们点击左侧的列表,右侧的数据就会重新渲染(因为右侧的信息已经更新完毕,就差渲染了)。左侧的菜单是通过触发点击事件去渲染右侧的数据,点击哪一个,对应右边的数据就更新到哪一个。
3、同学可以多听几次课程呢,然后自己多打印测试下字段。
如果我的回答帮助了你,欢迎采纳。祝学习愉快~
一拍
提问者
2020-05-20
点击下面,右侧重新渲染,点击右侧,下面重新渲染?
相似问题
回答 1