如何将数据从 WYSIWYG 发送到数据库 (Vue.js)

Posted

技术标签:

【中文标题】如何将数据从 WYSIWYG 发送到数据库 (Vue.js)【英文标题】:How do I send data from a WYSIWYG to a database (Vue.js) 【发布时间】:2021-05-07 21:58:16 【问题描述】:

我刚开始使用 Vue2Editor,目的是替换我用来将文本和图像数据发送到 Firebase 数据库的许多表单。 我的问题是我无法让它添加在编辑器中输入的数据。

使用表单时,我只需将事件处理程序附加到表单本身并创建一个允许传输的函数。

例子:

<form @submit.prevent="addText">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname" v-model="fname">
</form>
<button type="submit" variant="success">Save</button>

但是当使用 Vue2Editor 时,我没有得到任何表单标签。 我刚刚得到一个“vue-editor”标签。我尝试在此标记内添加事件处理程序,但没有任何反应。 我没有收到任何错误,但数据在提交时并未传输到数据库。

这是代码:

<template>

<div class="container">

  <div class="text_editor">

  <h2>Add new content</h2>

  <vue-editor @submit.prevent="addText" v-model="textblock" />

  <button type="submit" class="textblock_btn" variant="success">Save</button>

  </div>

</div>

</template>


<script>

import db from '@/firebase/init'

import Vue from "vue";

import Vue2Editor from "vue2-editor";

Vue.use(Vue2Editor);

export default 

  name: 'textblock',

  data () 

    return 

      textblock: null

    

  ,

      methods: 

        addText()

            db.collection('textblock').add(

                textblock: this.textblock

            ).then(() => 

                this.$router.push( name: 'Index' )

            ).catch(err => 

                console.log(err)

            )

        

    



</script>

【问题讨论】:

【参考方案1】:

由于所见即所得编辑器的数据绑定到v-model 属性,因此您仍然可以将组件包装在表单中。

<form @submit.prevent="addText">
    <div class="text_editor">

        <h2>Add new content</h2>

        <vue-editor v-model="textblock" />

        <button type="submit" class="textblock_btn" variant="success">Save</button>

    </div>
</form>

addText 方法中,您现在拥有this.textblock,其中包含有关表单提交的适当数据。

【讨论】:

以上是关于如何将数据从 WYSIWYG 发送到数据库 (Vue.js)的主要内容,如果未能解决你的问题,请参考以下文章

从 SummerNote WYSIWYG Bootstrap 生成的图像损坏

stm32 如何将vu16数据类型转换成u8类型的数据

如何将数据从活动发送到 java 类

如何使用ajax将数据从视图发送到控制器laravel?

如何将数据从客户端发送到redis,然后再发送到laravel

如何将数据从 UDP 端口发送到 lora 传感器节点?