Vue.js:如果从DOM中删除了元素,则重新绑定到元素

时间:2016-05-18 00:02:03

标签: javascript vue.js

jsBin available here

我目前的情况是我正在为TinyMCE Editor构建一个基于Vue.js的插件。

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

在编辑内容中替换特定元素的位置时有几种情况(例如,切换到"查看源"然后返回)。这导致我失去vm和HTML元素之间的连接。

问题描述:

这是一个jsBin,其中描述了问题。单击替换元素时,绑定到Vue的其中一个元素将替换为其自身的克隆。此时,它将停止绑定数据。

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

我尝试在Gitter channel中询问,并查看Vue源代码,但我没有找到任何内容。我也尝试过:

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

onExternalReplacement = function() {
  vm.$destroy();
  vm = new Vue(vueConfig);
}

但是由于克隆的元素没有任何原始的Vue指令(例如:style),它根本不起作用。

谢谢!

0 个答案:

没有答案