如何将事件从TinyMCE组件发送到父组件?

How to Emit an Event from TinyMCE Component to Parent?

提问人:Robert Juszczyński 提问时间:8/10/2023 更新时间:8/10/2023 访问量:46

问:

我正在使用 Vue 2.0。TinyMCE 版本:

"tinymce": "^6.6.2",
"@tinymce/tinymce-vue": "^3.2.8"

我创建了一个自定义组件,它是一个 tinyMCE 文本编辑器。它看起来像这样:

<template>
  <Editor
    :init="init"
    @change="emit()" --- Doesn't work at all
  />
</template>
<script>
import Editor from '@tinymce/tinymce-vue';
import contentUiCss from 'tinymce/skins/ui/oxide/content.css';
import 'tinymce/tinymce';
import 'tinymce/themes/silver';
import 'tinymce/icons/default';
import 'tinymce/skins/ui/oxide/skin.css';
import 'tinymce/models/dom';

export default {
  components: { Editor },
  emits: ['value'],
  data: () => ({
    init: {
    //   setup: (editor) => {
    //     editor.on('input', () => {
    //       this.$emit('something', payload) --- this is undefined, but works at input
    //     });
    //   },
      skin: false,
      plugins: ['wordcount'],
      content_css: false,
      content_style: contentUiCss.toString(),
      promotion: false,
    },
  }),
  methods: {
    emit() {
      console.log('test');
    },
  },
};
</script>

我想对更改事件做出反应,并将结果发送到父组件。 注释掉的部分有效,但我无法引用“this”,所以我不能使用,我认为我需要使用指令。问题是,像这样的指令不起作用。this.$emit('smth', payload)@change

为什么?有人有想法吗?谢谢你的帮助。

vue.js vuejs2 tinymce 这个 tinymce-6

评论


答: 暂无答案