nuxt.js局部引用quill富文本编辑器

2023-11-08

想在nuxt.js中使用quill富文本编辑器。按照网上常见的方法,将css, js 添加到 nuxt.config.js. 这是全局调用了quill的css,js 文件。 在每个页面的源码中,都可以看到quill 的css,js。 这是没有必要的,不是每个页面都使用了quill 编辑器。所以在此介绍局部引用quill富文本编辑器。

步骤

1 安装

npm install vue-quill-editor

2 在plugins目录下创建vue-quill-editor.js。 添加内容:

import Vue from 'vue'
import VueQuillEditor from 'vue-quill-editor/dist/ssr'

Vue.use(VueQuillEditor)

3 在pages或者 components中的vue文件中使用。

如在components中添加 Editor.vue, 内容如下:

<template>
<div>
<section class="container">
    <quill-editor v-if="isClient" v-model="content" 
                ref="myQuillEditor"
                :options="editorOption" 
                 @blur="onEditorBlur($event)" 
                 @focus="onEditorFocus($event)" 
                @ready="onEditorReady($event)"> 
  </quill-editor>
    <div >
      <input type="button" class="publish-article" value="提交短文">
    </div>
  </section>
  </div>
</template>


<script>
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

  export default {
    data () {
      return {
        isClient: false,
        content: '<p>开始你的短文书写 . . .</p><p> -  - </p>',
        editorOption: {
          // some quill options
          modules: {
            // toolbar: true 
            toolbar: [
               [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
              ['bold', 'italic', 'underline', 'strike'],
              ['blockquote', 'code-block']
              [{ 'font': [] }],
              [{ 'align': [] }],
            ]
          }
        }
      }
    },
    mounted() {
      console.log('app init, my quill insrance object is:', this.myQuillEditor)
      // setTimeout(() => {
      //   this.content = 'i am changed'
      // }, 3000)
      if (process.client) {
                  const { quillEditor } = require('vue-quill-editor')
                  this.$options.components = { quillEditor }
                  this.isClient = true
        }
    },
    methods: {
      onEditorBlur(editor) {
        // console.log('editor blur!', editor)
      },
      onEditorFocus(editor) {
        // console.log('editor focus!', editor)
      },
      onEditorReady(editor) {
         for(var i=0; i<20; i++)
        {
          this.content += "<p><br /></p>";
        }
        
      },
      onEditorChange({ editor, html, text }) {

      }
    }
  }
</script>
<style  scoped> 
.container {
    width: 100%;
    margin: 0 0 0 20px;
    padding: 20px 0px;
background-color: #ffffff;

}

.title {
  padding-bottom: 20px;
  background-color: transparent;
}
.title-box {
  height: 4rem;
  padding-left: 10px;
  padding-right: 10px;
  width:100%;
}
.publish-article {
  margin-top:20px;
  background-color: #48c774;
  color: #ffffff;
  border-radius: 5px;
  padding-top:5px;
  padding-bottom:5px;
  padding-left: 20px;
  padding-right: 20px;
}
</style>

以上程序中,在判断 process.client 为真后才进行导入 quill 组件, 即在客户端渲染。服务端渲染是没有window, document 的,所以会报错,诸如:Document / Window not defined.
以上程序已成功运行。
在这里插入图片描述

参考文章:

Nuxt 报错 Document / Window not defined 亲测解决方案(vue2Editor富文本编辑器之类三方包)
https://blog.csdn.net/q95548854/article/details/105139208/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nuxt.js局部引用quill富文本编辑器 的相关文章

随机推荐

  • centos7 部署 Redis

    从源安装Redis 一 安装Redis 1 1 下载源文件 1 2 编译源文件 1 2 1 解压文件 1 2 2 编译Redis 1 2 3 安装Redis 1 2 4 启动 Redis 二 Redis设置 2 1 缓存设置 2 2 red
  • 记录一下关于golang版本升级的那些问题

    一 windows系统go版本升级后 出现报错 报错内容 如下错误出现在为项目设置GOROOT时 报错如下 The selected directory is not a valid home for Go Sdk 报错原因 将go版本从1
  • 一文了解视频编解码原理

    视频编解码算法分为传统算法和基于深度学习的方法 本文主要介绍视频编解码技术的原理 部分内容和图片参考网上技术博客 链接已放在文章末尾 一 基本术语 数字图像的定义及理解可以参考这篇文章 数字图像处理笔记 一文搞懂数字图像基础 颜色深度 存储
  • Qt:开源与商业版区别,以及LGPL和闭源程序

    Qt 开源与商业版区别 以及LGPL和闭源程序 Qt是一个跨平台的C 应用程序框架 使用简单 功能强大 Qt分为开源版本和商业版本 两个版本之间有很多不同之处 本文将详细介绍Qt的开源版本和商业版本的区别 以及两种许可证 LGPL和闭源程序
  • sctp 编程接口指南

    SCTP 套接字接口 当 socket 调用为 IPPROTO SCTP 创建套接字时 它会调用特定于 SCTP 的套接字创建例程 针对 SCTP 套接字执行的套接字调用会自动调用相应的 SCTP 套接字例程 在一对一套接字中 每个套接字都
  • conda使用yml配置文件,复制环境,导出环境

    首先 conda是python虚拟环境管理的软件 对于代码需要迁移到别的机器上时 采用配置文件收集环境依赖 这样 将代码迁移的另一个机器时 使用一条命令一次性安装 快速复现代码 更加方便简洁 能很大程度上减少环境迁移 安装错误版本导致的版本
  • xBranch——新一代金融前端系统

    xBranch是集设计开发 测试部署和运维于一体的金融前端系统实施环境 充分体现了体验良好 实施快捷 成本较低 易于整合 运行高效 外设支持方便等优势 以 面向客户 面向营销 面向流程 面向体验 为设计理念 构建了统一的客户视图和以客户为中
  • java自动化测试语言高级之MySQL 连接

    java自动化测试语言高级之MySQL 连接 文章目录 java自动化测试语言高级之MySQL 连接 Java MySQL 连接 Java MySQL 连接 本章节我们为大家介绍 Java 如何使用 使用 JDBC 连接 MySQL 数据库
  • TypeError: __init__() got an unexpected keyword argument ‘transport_options‘

    在较新版本的 Elasticsearch Python 客户端中 确实没有名为 transport options 的参数 要设置传输选项 需要使用 transport class 参数来创建自定义传输类 并在传输类中设置选项 以下是一个示
  • Python打包的艺术(一)- 综述

    本文转载至 http blog chinaunix net uid 15174104 id 3863249 html Python打包的艺术是一个专题 我将在这个专题里分享自己对构建 管理和发布Python软件包的理解 这个专题 将涉及几个
  • 初识密码学

    初识密码学 摩斯密码 猪圈密码 键盘密码 普通键盘密码 用键盘换数字 拼音九键 栅栏密码 恺撒密码 维吉尼亚密码 希尔密码 摩斯密码 加密之前先来认识一下摩尔斯电码 点划 图像 二叉树 SOS并不是任何求救英文的缩写 而是因为在摩尔斯电码中
  • 无锁和偏向锁有什么区别?

    无锁和偏向锁是 Java 中的两种轻量级锁实现 它们和重量级锁相比 具有更高的性能和更低的开销 它们之间的区别如下 无锁 CAS 自旋锁 无锁是一种不需要使用锁的同步技术 它的实现依赖于 CAS Compare And Swap 操作 通过
  • ARM:分散加载

    1 GCC编译器下的分散加载 ld文件 SECTIONS ram text flash start LOADADDR ram text ram text ram text start user iic o text ALIGN 4 All
  • AdaBoost算法实例详解

    提升树Boosting Tree算法实例详解 程大海的博客 CSDN博客 从提升树Boosting Tree过度到梯度提升Gradient Boosting 程大海的博客 CSDN博客 GBDT梯度提升之回归算法个人理解 程大海的博客 CS
  • Centos7.6安装docker

    一 环境准备 Docker 支持以下的 64 位 CentOS 版本 CentOS 7 CentOS 8 更高版本 二 安装步骤 1 如果是重装 则需要卸载旧版本 sudo yum remove docker docker client d
  • k8s flannel划分子网方案

    目标 对宿主节点划分子网 同时实现对不同应用划分子网 实现说明 部署k8s时 划分宿主节点ip 对每个节点配置不同net conf json 这样pod调度到宿主节点时 根据net conf json内的network配置分配ip 实现po
  • git基本使用

    1 git init 初始化本地仓库 2 git add 或文件名 暂存 3 git commit m 自己定名字 4 git status 查看 5 git remote add origin https github com xxx 6
  • 强化学习之混合动作空间

    强化学习之混合动作空间 基本介绍 在强化学习的动作空间设定中有连续动作空间 离散动作空间和混合动作空间 在大多数的论文中研究的都是连续动作空间和离散动作空间 而混合动作空间研究的比较少 在游戏ai 自动驾驶等一些领域中有时动作空间可以是混合
  • 安装Elasticsearch

    gt 安装 1 创建基础环境 环境 centos7 9 es版本 7 13 3 按照如下的步骤一步步走 就可以正常完成安装 groupadd es useradd es g es p es123 cd home mkdir p elk es
  • nuxt.js局部引用quill富文本编辑器

    想在nuxt js中使用quill富文本编辑器 按照网上常见的方法 将css js 添加到 nuxt config js 这是全局调用了quill的css js 文件 在每个页面的源码中 都可以看到quill 的css js 这是没有必要的