IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> VUE #4 封装一个 wangEditor 组件 -> 正文阅读

[JavaScript知识库]VUE #4 封装一个 wangEditor 组件

以封装 wangEditor 富文本编辑器为例,浅记 VUE 组件封装方式。本篇不涉及 wangEditor 具体使用方法介绍,如需要了解,请移步官网:wangEditor-轻量级 web 富文本编辑器

VUE 版本:3.0。

1. 插件页面定义

<template>
    <div id="demoEditor">

    </div>
</template>

<script>
//导入 WangEditor 插件
import WangEditor from 'wangeditor';

export default {
	//命名空间, 可理解为本页面暴露给外部的名称
    name: 'demoEditor',
    data() {
        return {
            demoEditorHtml: ""
        }
    },
    methods: {
    	//初始化编辑器配置,配置属性为 WangEditor 主流属性
        initEditor() {
            this.demoEditor = new WangEditor('#demoEditor');
            //自定义提示文字
            this.demoEditor.config.placeholder = '自定义提示文字...';
            //一次最多上传 3 张图片
            this.demoEditor.config.uploadImgMaxLength = 3;
            //自定义不需要菜单
            this.demoEditor.config.excludeMenus = [
                'video'
            ];
            //监听内容变化并将内容传递给 demoEditorHtml, 对于外部来说
            //demoEditorHtml 便是封装后的编辑器内容
            this.demoEditor.config.onchange = (html) => {
                this.demoEditorHtml = html;
            };
            this.demoEditor.create();
        }
    },
    mounted() {
        this.initEditor();
    }
}
</script>

2. 引入插件

<template>
    <div class="common-layout">
    	<DEMOEDITOR ref="demoEditor"></DEMOEDITOR>
    	<div style="margin: 10px 0"></div>
        <el-button type="primary" @click="submitEditor()">提交</el-button>
    </div>
</template>

<script>
import demoEditor from '../../components/demoEditor.vue'

export default {
	//注册为组件,重点
    components: {
        DEMOEDITOR:demoEditor
    },
    data() {
        return {}
    },
    methods: {
        submitEditor(){
            //封装后的富文本编辑器内容
            console.log(">>html<<"+this.$refs.demoEditor.demoEditorHtml);
        }
    }
}
</script>

上面的“重点”标记,components 是 VUE 封装组件的精髓所在,DEMOEDITOR 即为封装后的组件在 html 页面使用时的标签名。所以本文全篇其实可归于一词 components,其余内容辅助理解。

3. 看看效果

效果

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 15:37:53  更:2021-12-11 15:38:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:52:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码