我目前的情况是我正在为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
),它根本不起作用。
谢谢!