问题场景
- 使用vue单一页面,通过tab切换不同的数据渲染vue2-ace-editor的时候,页面数据不能及时更新
问题排查
- 可能为是用v-model双向绑定数据的时候,如果数据为list,dict的情况下更新里面的数据,vue是监控不到数据变化,导致数据不刷新,尝试使用set解决,但是问题并未得到解决
this.$set(this.jsonData,"{}", 24)
- 使用强制刷新this.$forceUpdate(),也是无效
解决方案
- 使用:key的方式解决问题
- 一开始我先和v-model使用同一个key,数据不刷新的问题得到了解决,但是输入据数据的时候,老是失去光标,导致输入成了问题
:key="jsonData" v-model="jsonData"
- 最后把key和v-model的值分别用不同的变量存储,这样子就不会在更新数据的时候,导致key不停的变化,从而影响页面渲染,问题得到解决
:key="requestKey" v-model="jsonData"