vue项目中使用tinymce编辑器的步骤详解


Posted in Javascript onSeptember 11, 2018

Tinymce富文本也是一款很流行编辑器

          把文件放在static下,然后在index.html文件中引入这个文件

<script src="static/tinymce/tinymce.min.js"></script>
<tinymce :height=200 ref="editor" v-model="editForm.fdcNote"></tinymce>

         在其他子文件中引入这个

import tinymce from '../components/Tinymce';
 components: {
 tinymce
 },

然后就可以调用起这个组件了。

下面看下vue项目中使用tinymce编辑器的方法,具体内容如下所示:

第一步:npm install tinymce -S

第二步:创建组件

//增加模版
<template>
 <div>
  <textarea :value="value"></textarea>
 </div>
</template>
//在script中引入
import tinymce from "tinymce/tinymce";
import "tinymce/themes/modern/theme";
import "tinymce/plugins/paste";//这个到最下面那个为需要使用的工具栏模块
import "tinymce/plugins/link";
import "tinymce/plugins/lists";
import "tinymce/plugins/image";
import "tinymce/plugins/contextmenu";
import "tinymce/plugins/wordcount";
import "tinymce/plugins/colorpicker";
import "tinymce/plugins/textcolor";
import "tinymce/plugins/media";

第三步:对tinymce进行个性化配置

tinymceinit() {
   const _this = this;
   const setting = {
    selector: "#tinymce",
    language: "zh_CN",//语言设置中文
    menubar: false,//去除文件栏
    branding: false,//去除右下角的'由tinymce驱动'
    elementpath: false,//左下角的当前标签路径
    content_css: ["css文件路径"],//对编辑器内部需要的一些样式
    language_url: "zh_CN.js文件的路径",//导入中文语言文件
    skin_url: "../../../static/skins/lightgray",//在node_modules中tinymce文件夹中
    setup: function(editor) {//设置自定义功能的按钮
     editor.addButton("uploadimg", {//单个按钮,此处的uploading是该按钮的名称
      icon: "image",  //显示的图像
      tooltip: "上传图片",//鼠标放上去后现在是内容
      onclick: function() {}
     });
     editor.addButton("geshi", {//按钮列表,此处的geshi是该按钮的名称
      text: "格式",  //显示的文字
      type: "menubutton",
      menu: [
       {
        text: "标签",
        onclick: function() {}
       }
      ]
     });
    },
    plugins:
     "lists paste link image contextmenu wordcount colorpicker textcolor media imagetools",//对应上方import引入的文件,下面toolbar需要使用到
    toolbar:
     "geshi bold bullist numlist | uploadimg | alignleft aligncenter alignright alignjustify outdent indent"//定义工具栏
   };
   Object.assign(setting, _this.setting);
   tinymce.init(setting);
  },

第四步:在watch中监听传入的value,并修改tinymce的内容

value(newV, oldV) {
  tinymce.activeEditor.setContent(newV);
},

其他:设置图片

第一种:使用tinymce提供的接口

images_upload_handler: function (blobInfo, success, failure) {
  //blobInfo图片对象
  uploadimg(){ //上传图片(自己写的方法)
    success('图片的路径')
    failure('错误提示')
  }
}

第二种:我自己使用的方法,简单说一下思路

1.使用setup自定义一个按钮,按钮的点击事件就是选择图片(参考input,type=file),并上传

2.将服务器返回的路径包装成<img src='返回的路径'>

3.将自己包装的img标签放入鼠标当前指针处

let dom = tinymce.activeEditor.dom;
tinyMCE.execCommand("mceInsertContent",false,dom.createHTML("img", {src: 路径}));

总结

以上所述是小编给大家介绍的vue项目中使用tinymce编辑器的步骤详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
Jul 31 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
May 30 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 Javascript
a标签click和href执行顺序探讨
Jun 23 Javascript
AngualrJS中每次$http请求时的一个遮罩层Directive
Jan 26 Javascript
javascript如何定义对象数组
Jun 07 Javascript
微信小程序tabBar底部导航中文注解api详解
Aug 16 Javascript
DVA框架统一处理所有页面的loading状态
Aug 25 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
Jan 03 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
Feb 07 Javascript
原生JavaScript之es6中Class的用法分析
Feb 23 Javascript
VUE 实现滚动监听 导航栏置顶的方法
Sep 11 #Javascript
vue中的watch监听数据变化及watch中各属性的详解
Sep 11 #Javascript
vue axios数据请求get、post方法及实例详解
Sep 11 #Javascript
js监听html页面的上下滚动事件方法
Sep 11 #Javascript
vue 使用html2canvas将DOM转化为图片的方法
Sep 11 #Javascript
Vue项目数据动态过滤实践及实现思路
Sep 11 #Javascript
使用vue.js在页面内组件监听scroll事件的方法
Sep 11 #Javascript
You might like
PHP 5.0对象模型深度探索之绑定
2006/09/05 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
基于PHP magic_quotes_gpc的使用方法详解
2013/06/24 PHP
PHP小教程之实现链表
2014/06/09 PHP
php进程间通讯实例分析
2016/07/11 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
JS字符串的切分用法实例
2016/02/22 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
ES6中let 和 const 的新特性
2018/09/03 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
python获取当前计算机cpu数量的方法
2015/04/18 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
浅谈django的render函数的参数问题
2018/10/16 Python
django删除表重建的实现方法
2019/08/28 Python
python 实现return返回多个值
2019/11/19 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
校园歌手大赛策划书
2014/01/17 职场文书
志愿者服务感言
2014/02/27 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
公证委托书标准格式
2014/09/11 职场文书
《为人民服务》教学反思
2016/02/20 职场文书