Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue.js:如果元素为';从DOM中删除_Javascript_Vue.js - Fatal编程技术网

Javascript Vue.js:如果元素为';从DOM中删除

Javascript Vue.js:如果元素为';从DOM中删除,javascript,vue.js,Javascript,Vue.js,我目前的情况是,我正在为应用程序构建一个基于Vue.js的插件 该插件允许我在保存某些元素之前在编辑器中进行反应性配置(这将$destroy()实例,并使编辑器中元素的呈现HTML保持不可修改状态) 编辑时有几种情况会替换内容中的特定元素(例如切换到“查看源”并返回)。这导致我失去了vm和HTML元素之间的连接 问题描述: 下面是一篇关于这个问题的文章。单击“替换元素”时,绑定到Vue的其中一个元素将替换为其自身的克隆。此时,它将停止绑定到数据 在这种情况下,我可以做什么(如果有的话)来恢复绑定

我目前的情况是,我正在为应用程序构建一个基于Vue.js的插件

该插件允许我在保存某些元素之前在编辑器中进行反应性配置(这将
$destroy()
实例,并使编辑器中元素的呈现HTML保持不可修改状态)

编辑时有几种情况会替换内容中的特定元素(例如切换到“查看源”并返回)。这导致我失去了
vm
和HTML元素之间的连接

问题描述:

下面是一篇关于这个问题的文章。单击“替换元素”时,绑定到Vue的其中一个元素将替换为其自身的克隆。此时,它将停止绑定到数据

在这种情况下,我可以做什么(如果有的话)来恢复绑定

我试着在中询问,并查看了Vue源代码,但没有找到任何东西。我还试着做:

var vueConfig = { /* ... */ };
vm = new Vue(vueConfig);

onExternalReplacement = function() {
  vm.$destroy();
  vm = new Vue(vueConfig);
}
但是,由于克隆的元素没有任何原始的Vue指令(例如,
:style
),因此它实际上没有任何帮助

谢谢大家!

实际问题是vue将数据绑定到DOM节点。替换元素时,会破坏vue绑定。我只能建议您只替换html节点,而不是vue绑定节点。如果这不是一个选项,请澄清您的用例。可能有一种更惯用的方法来解决它。实际问题是vue将数据绑定到DOM节点。替换元素时,会破坏vue绑定。我只能建议您只替换html节点,而不是vue绑定节点。如果这不是一个选项,请澄清您的用例。可能有一种更惯用的方法来解决这个问题。