Как передать vue экземпляр во внешний скрипт? - PullRequest
0 голосов
/ 17 марта 2020

У меня есть это объявление editor в файле компонента vue:

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(). Но я получаю ошибку после этого.

Я получаю эти ошибки в Google chrome:

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 во внешний скрипт, если мне это нужно?

...