首页 > 技术文章 > 工作项目小结

july-Vivian 2018-12-26 16:54 原文

      距离前一篇博客已过去一年之久,这一年完成了人生的三件大事也不算辜负流年了。不说废话了,趁项目还热乎,先做一下小结。

  本次项目是接手前人的旧项目,前人栽树也挖坑:),我来乘凉也种树O(∩_∩)O哈哈~。

  一、bug修复方面的问题:

    1.click与mousedown事件会同时触发,对于同一个元素,需要小心处理;

    2.加scoped的样式,在debug时会自带.class[data-],因此小心处理;

      本次bug出现的很有趣,前人写成了scope少了个‘d',我当时写的时候看到错了就加了个’d',结果出现了一个不可思议的bug(忘了),几经周折才发现是这个问题。

    3.表单form元素有submit默认事件,在这个里面操作enter,如果没有注册submit事件的话会默认触发导致url变化(加了一个问号)。如果不需要submit就需要注册它使之return false就好;

    4.computed中的值不可直接用在template中,会报错。虽然不影响功能,但是控制台不好看,纠结星人会受不了。我的处理方式是给需要使用的值赋值,比如checkAll: this.ischeckall,然后计算ischeckall的值就能避免这个问题了;

  二、css一些属性使用问题:

    1.vertical-align的使用,以及line-height的结合使用,暂时没有研究出合理的搭配方式,待更新;

  三、踩坑系列:

    1.本次项目中有类似文件及文件夹形式的交互功能,交互之复杂,举。。。我之前所有项目的复杂程度之罕见,⊙﹏⊙b汗。只说以下几点问题:

      a.移动后,shift连选文件会掉中间的某几个文件不是选中状态,debug后发现是因为重新获取文件顺序的接口更新不及时,总是记住上一次的顺序而不是当前顺序,汗

      b.要实现文件夹中的框选,就要避免鼠标在文件夹中时的文件夹移动功能是否关闭;

      c.对于某些功能可以思考是否可以改善。比如说可以在框选事件结束后再决定缩略图展现;

    2.watch和refs的使用问题

      本项目使用过多,考虑到多人开发的缘故,不建议频繁使用,如果使用注释一定要清楚,牵连太多。

    3.轮询问题

      之前没有项目有需要轮询的接口,本次轮询和文件异步上传结合到一起,感觉问题还是有些的。个人对这一块的思考是暂时没有特别合理的界限可以终止此次轮询,因业务不方便讲,这里不作展开

  四、新的东西

    1.轮询

    2.扫描事件

    3.拖拽、鼠标各种事件交互影响

  五、奇葩事件

    在浏览器debug时,改变某一元素的颜色或任意绝对不会影响布局的属性时整个页面结构会凌乱,我真的方了。。。

      

推荐阅读