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 相关文章推荐
分享一个我自己写的ToolTip提示插件(附源码)
Jan 20 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
教你用javascript实现随机标签云效果_附代码
Mar 16 Javascript
深入理解jquery自定义动画animate()
May 24 Javascript
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
彻底弄懂 JavaScript 执行机制
Oct 23 Javascript
JS实现可切换图片的幻灯切换效果示例
May 24 Javascript
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
layui监听工具栏的实例(操作列表按钮)
Sep 10 Javascript
原生js实现商品筛选功能
Oct 28 Javascript
Vue实现按钮级权限方案
Nov 21 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
May 06 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
php Undefined index的问题
2009/06/01 PHP
php dirname(__FILE__) 获取当前文件的绝对路径
2011/06/28 PHP
PHP中设置时区方法小结
2012/06/03 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
PHP微信支付实例解析
2016/07/22 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
谈谈impress.js初步理解
2015/09/09 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
js实现表格筛选功能
2017/01/18 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
详解利用jsx写vue组件的方法示例
2017/07/17 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
ES6学习教程之模板字符串详解
2017/10/09 Javascript
vue style width a href动态拼接问题的解决
2020/08/07 Javascript
怎么使用pipenv管理你的python项目
2018/03/12 Python
Python元组拆包和具名元组解析实例详解
2018/03/26 Python
给我一面国旗 python帮你实现
2019/09/30 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python