经验总结
  1. 将 obj 或 class 写的方法通过 es6 解构出来会导致,this 不能再访问到 obj 自身亦或者 constructor 中的变量
  2. Flex 布局中,盒子中的元素顺序排列,使用 margin 隔开位置,每一列的最后一个的盒子会出现 marng 距离,不能完美贴合的问题:
  3. 响应式布局:通过使用 media 标签+百分比布局+计算来布局
  4. 在 vue 中,直接将表格的数据映射到表单,会出现未确认修改但已修改的情况,因为响应式的影响,所以表格数据不能直接映射到表单,需要拷贝一份
  5. 在数组中,使用.lengh 做判断要小心,如果数组不存在会报错阻断页面运行
  6. 在 js 中, ?. 以及 ?? 的用法:
  7. es6 数组快速排序的方法:
  8. 页面定时器要在全局作用域,用对象来管理,避免遗漏关闭定时器的问题,减少查找花费时间
  9. 不要用 !{} 这样来判断对象值, 因为不管{}有值或者没值其返回的结果会是false
  10. 在vue2中,父组件使用v-model传值,子组件需要通过props:{ value:{} }来接收,this.$emit(‘input’,’’) 来修改值
  11. 在vue2中,computed只读不可写,若要手动修改,需要给computed设置set方法在其中修改
  12. 循环对象时顺序不是有序的
  13. css中:选择并列dom的最后一个元素的选择器是last-child:{}; 选择同类型的元素的第n个 用nth-of-type( 第几个 * n):{}
  14. 在书写复杂的逻辑时,一定要避免冗余或无用的变量,影响自己的逻辑判断
  15. vue2.0 切换路由使用 keep-alive 缓存失败,vue3.0 现切换成该形式:
  16. 在vue中: 不可通过 v-html 来生成带数据侦测的模板,不然会失去响应
  17. 在js中: 判断点击的是否是目标元素: 给目标元素添加自定义属性,给点击区域绑定事件,点击事件拿到点击目标,判断是否有自定义属性,从而判断是否是目标元素
  18. css中: 外层元素点击影响内层元素,给内层元素加position:relative; 则层级比默认元素高,会优先点击到