Vuejs-踩坑/注意事项记录

515 阅读2分钟

    从学习vue到现在接近半年,也用vue写过网站,期间踩过一些坑。大部分的坑经过segmentfault或掘金上的贴都能得到解决,但也有一些问题还是经过一些实践才发现的。这篇文章就当简单记录一下,做笔记用。

  1. 使用v-for标签循环生成列表的时候,真的要指定key。一开始以为主要是一个规范性问题,其次就是便于追踪;直到有一次自己写一个简单的评优系统(我们学院评优工作,我算负责人之一,懒得用excel就自己写了用来统计排名),发现同一份数据,进行多次交叉的排名之后,列表序号会混乱(数据会不会乱不太记得了)。恩于是我经过几番尝试(录入数据的时候动态添加id、使用v-for自己的index也不行...后来乖乖地指定了key之后就可以了......

  2. 列表的key的制定要稍微靠谱一点,最好是id,或者循环的时候用index直接指定也可以。经历:因为需求是录入的数据姓名不同,我便想着直接指定name作为key,结果发现时候想修改name的时候修改很不方便(我出现的问题是修改姓名后会无限循环提交mutation),这里不太知道原因是什么后来也没去深究。
  3. 使用beforeRouterLeave、全局钩子beforeEach这样一些判断路由导向的函数,要注意判断条件的设置。恩...有过因为判断条件不健壮导致不停地进行路由导向然后判断的情况,一开始还不知道是为什么...
  4. 注意理解好各个属性的使用,如.v-model.lazy对watch函数的影响。.lazy会延迟数据变动的监听,因此如果是要随着数据输入动态改变状态的操作,就不要用lazy了
  5. 对象内的数据的变动不会被监听到,如个对象内有一个数据,.push等操作也不会引入视图更新。
  6. 再次对自己的提醒,认真看官网文档。
    最近基本没有写代码,想写这篇文章很久了到今天才记得写。

    题外:前阵子写了一点react,react更多js直接驱动的感觉确实很爽,体现的设计思想和redux思想感觉也很深刻。但是感觉api的简洁性真的不如vue(感觉vuex的时候比redux方便很多是不是不太对...),文件管理上也还不太顺手,感觉有点庞大。私以为上手成本控制上vue真的做得比较好,希望随着继续学下去对react的印象会更好。

    emmmmmm....然后vue 2.5.2的发布,真的要开始上手typescript了......