我在组件vue文件中有editor
的声明:
export default {
data: function() {
return {
editor: new Editor({
doc: this.value,
vueInstance: this,
}),
}
},
我正在使用editor.doc
在contenteditable中生成模板。
在每次按键事件editor.doc
之后应进行更改,并应更新模板。这意味着我需要像这样在editor.doc
外部脚本中更改Editor()
来保持反应性:
vueInstance.$set(this.doc, someKey, someValue);
。这就是为什么我将vueInstance: this
传递给Editor()
的原因。但是这样做之后我得到了错误。
我在谷歌浏览器中收到这些错误:
Uncaught RangeError: Maximum call stack size exceeded
TypeError: "t is undefined"
我在Firefox中遇到了这些错误:
[Vue warn]: Error in nextTick: "TypeError: t is undefined"
TypeError: "t is undefined"
如何正确修改editor.doc
并保持反应性?如果需要,如何将Vue实例传递给外部脚本?