问2个url的问题...

来源:4-1 剔除冗余代码

陈立天

2020-06-23 20:40:17

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

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

问下这两个怎么关联的,并且图1和图2的url是从哪里传过来的参数?

写回答

2回答

好帮手慕慕子

2020-06-24

同学你好,图一是定义方法,图二是调用方法,也就是说图二中的回调函数就是指图一中的fail函数。而fail函数中url具体从哪里传递的可以参考如下解析:

1、loadImgs中调用的slider.loadImg是前面定义的方法。如下图所示

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

由上图可知:$img.data('src') 对应参数url

function(url) {  $img.attr('src', url);  success(); } 第一个回调函数对应参数imgLoaded

function(url) {fail($img, url);}第二个回调函数对应参数imgFailed

所以说同学第一张截图圈起来的fail($img,url)中url就是指$img.data('src') 

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

2、第二张截图中圈起来的回调函数对应的就是fail函数,url对应的也是调用时传递的$img.data('src')。但是此时函数内部并没有使用到url, 函数内部圈起来的这句代码$img.attr('src', 'img/floor.placeholder.png'); 表示加载失败时,页面显示一张默认的占位图片。

3、老师非常能体会同学的感受,这个项目确实是比较难的,组件间封装之间的逻辑联系也是比较复杂的,所以同学说的也是一种正常现象。老师在准备这个项目的时候,也准备了将近一个月的时间,老师有那么多年的开发经验,都要准备这么久,更何况我们这些小白呢,所以同学要先放平心态哦。

这部分的目标是让同学们感受学习组件化的思想,而不是需要把视频里的全部内容吸收了。实际开发中会使用到组件化开发,但并不会直接复用视频中讲解的代码,而且一般情况下也不会让初入职场的程序员去书写组件化,都是公司中有几年开发经验的人来书写组件,其他人直接使用就可以了,所以说我们目前重点是学习思想,以后再慢慢的尝试在开发中融入就可以了

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

陈立天

提问者

2020-06-23

看了后面就忘记前面,看了前面又忘记后面.........

0

0 学习 · 14456 问题

查看课程