Я инициализировал плагин jQuery для элемента внутри vue компонента. В функции инициализации у меня есть «$(document).ready(function()
», что означает, что «this
» не будет работать внутри. Поэтому я использую var that = this
.
Однако есть также зарегистрированный слушатель, и внутри этого слушателя мне нужно выдать значение:
initialize() {
var that = this;
$(document).ready(function() {
let editor = that.$refs.myplugin
//initialize
var $editor = $(editor ).myplugin({
height: 300
})
//listener callback
$editor.on('myplugin.change', (e) => {
//results in error
that.$emit('input', 'test message');
})
})
}
Значение передается, но каждый время возникает ошибка «Ошибка в v-on обработчике:« TypeError: handler.apply is not a function
». Если я закомментирую $ emit, ошибки не будет.
Так что that
работает внутри обратного вызова (я могу вызвать тестовая функция), но не emit.
Так почему же отображается ошибка и как мне использовать $emit
correclty в обратном вызове этого слушателя?
Обновление : Пытался изменить функцию стрелки на нормальную функцию, но ошибка все та же.