Plug-in jQuery no componente Vue: Não é possível passar valor para prop
Eu adicionei o plugin jquery redactor em um componente vue. O plugin está funcionando bem, mas preciso acessar o html para que eu possa vê-lo no Vue.
Eu tentei de tudo, métodos, propriedades computadas, mas não consigo encontrar uma maneira. É particularmente complicado porque o Redactor adiciona novo html ao dom, e eu preciso obter os dados do html adicionado.
Atualmente estou recebendo esse erro,this.$emit is not a function
. Preciso obter o valor html de.redactor-editor
no suporte para que fique disponível nos dados do vue. O vartextContent
imprime corretamente no console, mas não consigo mostrar isso noprop
. Qualquer ajuda é muito apreciada.
Componente
<template>
<div>
<textarea class="form-control question-create-editor" id="question_description" placeholder="Go wild with all the details here - make image upload work" rows="3">
</div>
</template>
<script>
export default {
props: ['redactorValue'],
mounted: function(){
$('#question-create-form .question-create-editor').redactor({
imageUpload:'/urlGoesHereBro/',
plugins: ['video', 'imagemanager', 'counter', 'limiter'],
buttonsHide:['html', 'formatting', 'deleted', 'indent', 'outdent', 'alignment', 'horizontalrule']
});
},
computed: {
redactorValue: function(){
$('#question-create-form .redactor-editor').on('keyup', function(){
var textContent = $('#question-create-form .redactor-editor').html();
console.log( 'textContent = ' + textContent );
this.$emit('redactorValue', textContent);
});
}
}
};
HTML
<vueredactor></vueredactor>