簡體   English   中英

VueEditor 文檔未定義 Nuxt.js

[英]VueEditor document is not defined Nuxt.js

在我的 Nuxt.js 項目中,我安裝了vue2-editor包,以便能夠用 HTML 編寫文章。 當我來到頁面時,寫點東西並按下按鈕一切正常,但是當我重新加載頁面時,我得到document is not defined錯誤。

這是代碼:

<template>
  <div>
    <SideBar />
    <div class='content'>
      <h1>Write article</h1>
      <client-only>
        <VueEditor
          v-model='articleContent'
        />
      </client-only>
      <div style='margin-top: 15px'><button @click='postArticle'>Post article</button></div>
    </div>
  </div>
</template>

<script>
import { VueEditor } from 'vue2-editor';
import SideBar from '../components/SideBar';
export default {
  name: 'Articles',
  components: {
    SideBar,
    VueEditor
  },
  data() {
    return {
      articleContent: null,
    }
  },
  methods: {
    postArticle() {
      console.log(this.articleContent)
    },
  },
}
</script>

錯誤看起來像這樣:

在此處輸入圖片說明

同樣在文檔中,我發現對於 Nuxt.js 項目vue2-editor應該添加到modules ,我做到了,但它仍然不起作用:

  modules: [
    // https://go.nuxtjs.dev/axios
    '@nuxtjs/axios',
    'vue2-editor/nuxt'
  ],

您可以嘗試動態加載它:

<template>
  <div>
    <SideBar />
    <div class='content'>
      <h1>Write article</h1>
      <client-only>
        <VueEditor
          v-model='articleContent'
        />
      </client-only>
      <div style='margin-top: 15px'><button @click='postArticle'>Post article</button></div>
    </div>
  </div>
</template>

<script>
import SideBar from '../components/SideBar';
export default {
  name: 'Articles',
  components: {
    SideBar,
    VueEditor: () => process.client ? (await import("vue2-editor")).VueEditor : ""
  },
  data() {
    return {
      articleContent: null,
    }
  },
  methods: {
    postArticle() {
      console.log(this.articleContent)
    },
  },
}
</script>

請按照以下步驟將該插件添加到您的 Nuxt 中

  • 將有plugins文件夾,就像pagescomponents ,如果沒有創建一個並在其中添加一個js文件vue2-editor.js
  • 將以下內容復制到vue2-editor.js
     import Vue from "vue"; import Vue2Editor from "vue2-editor"; Vue.use(Vue2Editor);
  • nuxt.config.js中,從模塊中刪除'vue2-editor/nuxt'並創建一個名為 plugins 的單獨數組,如下所示
  /*
  ** Plugins to load before mounting the App
  */
 plugins: [{ src: "~/plugins/vue2-editor", mode: 'client' }],
  • 就是這樣你完成了。 現在您可以開始在任何 vue 文件中使用它,例如
  <vue-editor placeholder="Write Something..." v-model="content"></vue-editor>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM