Javascript Vue.js v-html contenteditable防止dom刷新以防止光标/插入符号跳转
作为参考,我使用Vue 2.0、Vuex和Firebase 我正在使用v-html绑定构建一个contenteditable组件来呈现innerHTML。数据在KeyUp上更新。每当数据被更新时,DOM元素就会用“新”数据刷新,导致插入符号/光标跳回contenteditable div的开头 我已经研究了Rangy和其他几个stackoverflow解决方案,但我觉得最简单的解决方案是从数据刷新中解除DOM元素的绑定。我希望数据仍在firebase中更新,但不会导致元素刷新 有没有办法让我仍然使用v-html,但不让DOM元素用数据刷新?或者有没有其他方法可以在没有自动绑定的情况下呈现HTML 编辑:2016年11月18日 所以我一直在努力解决这个问题。以下是我目前的想法Javascript Vue.js v-html contenteditable防止dom刷新以防止光标/插入符号跳转,javascript,vue.js,contenteditable,caret,Javascript,Vue.js,Contenteditable,Caret,作为参考,我使用Vue 2.0、Vuex和Firebase 我正在使用v-html绑定构建一个contenteditable组件来呈现innerHTML。数据在KeyUp上更新。每当数据被更新时,DOM元素就会用“新”数据刷新,导致插入符号/光标跳回contenteditable div的开头 我已经研究了Rangy和其他几个stackoverflow解决方案,但我觉得最简单的解决方案是从数据刷新中解除DOM元素的绑定。我希望数据仍在firebase中更新,但不会导致元素刷新 有没有办法让我仍然
组件shouldRender
生命周期挂钩,所有这些问题都不会成为问题。我将继续寻找一个完整的解决方案
有没有办法让我仍然使用v-html,但不让DOM元素用数据刷新
对。v-once
指令正是这样做的
make jsfiddle plsserching对于一个小问题,我在文档中发现了这个问题:显然,您可以在v-model指令中添加:lazy,以便模型仅在发生更改事件时更新。这不完全是你想要的,但它可能会帮助你处理it@lkostka它实际上是
.lazy
。但是我没有做任何改变就尝试了:/brrrrrr然后我不知道,我想您必须在那里插入一些自定义事件管理。希望更聪明的人能发布一个解决方案。如果它是一个输入,我建议在使用一些生命周期挂钩刷新dom后重新关注。不确定“可编辑div”是什么意思。