在使用vue的过程中曾遇到了很多问题,具有一些共性,整理如下,共攻城狮们参考:
- 在vue实例添加根级别新属性不生效的问题:
原因:vue会在实例初始化的时候将data转换成get,set,注册监听器,所以只有在初始化之前存在的根级别属性会被监听,后来加入的根级别属性是不能被监听的。
解决方案:在data中定义根级别属性,使用Vue.set或this.$set来添加嵌套对象的响应式属性 - vue中使用多个if,else控制表单组件显隐,在切换组件显隐时发现一个表单组件的数据到了另一个组件里
原因:vue存在复用机制,默认会最大程度的复用组件,提高渲染速度,当根据diff算法判断可以复用时,会复用已有vnode节点。
解决方案:定义不同的key,使得组件不复用,或者每次切换都做好清理工作。