文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Vue怎么整合富文本编辑器TinyMce

2023-07-04 11:03

关注

本篇内容主要讲解“Vue怎么整合富文本编辑器TinyMce”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue怎么整合富文本编辑器TinyMce”吧!

选择一个合适的富文本编辑器对于一个前端项目至关重要,这次我基于Vue来开发我项目中的前端部分,经过权衡选择了tinymce。其在UI,功能都很适合。

引入tinymce 我选用的版本4.7.4

npm install tinymce -S

将tinymce创建为Vue的组件,便于日后复用,创建组件editor.vue

<template>    <textarea :id="id" :value="value"></textarea></template><script>  // Import TinyMCE  import tinymce from 'tinymce/tinymce';  import 'tinymce/themes/modern/theme';  import 'tinymce/plugins/paste';  import 'tinymce/plugins/link';  const INIT = 0;  const CHANGED = 2;  var EDITOR = null;  export default {    props: {      value: {        type: String,        required: true      },      setting: {}    },    watch: {      value: function (val) {        console.log('init ' + val)        if (this.status == INIT || tinymce.activeEditor.getContent() != val){          tinymce.activeEditor.setContent(val);        }        this.status = CHANGED      }    },    data: function () {      return {        status: INIT,        id: 'editor-'+new Date().getMilliseconds(),      }    },    methods: {    },    mounted: function () {      const _this = this;      const setting =        {          selector:'#'+_this.id,          language:"zh_CN",          init_instance_callback:function(editor) {            EDITOR = editor;            console.log("Editor: " + editor.id + " is now initialized.");            editor.on('input change undo redo', () => {              var content = editor.getContent()              _this.$emit('input', content);            });          },          plugins:[]        };      Object.assign(setting,_this.setting)      tinymce.init(setting);    },    beforeDestroy: function () {      tinymce.get(this.id).destroy();    }  }  </script>

在钩子mounted 进行了tinymce的初始化工作,调用 tinymce.init(setting),setting为配置信息这样我们便初步配置完成了editor组件

在其他页面使用组件

<template>  <div class="app-container">    <div>      <!-- 组件有两个属性 value 传入内容双向绑定 setting传入配置信息 -->      <editor class="editor" :value="content" :setting="editorSetting" @input="(content)=> content = content"></editor>    </div>   </div></template><script>  import editor from '@/components/editor'  export default {    name: "editor-demo",    data: function () {      return {        content:'我是富文本编辑器的内容',        //tinymce的配置信息 参考官方文档 https://www.tinymce.com/docs/configure/integration-and-setup/        editorSetting:{          height:400,        }      }    },    components:{      'editor':editor    }  }</script><style scoped></style>

此刻我们已经完成了百分之90的配置 ,最后只需将node_modules/_tinymce@4.7.4@tinymce/文件夹下的skins文件夹放置于项目根目录下,这样tinymce才可获取皮肤css文件。

Vue的优点

Vue具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

到此,相信大家对“Vue怎么整合富文本编辑器TinyMce”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯