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 相关文章推荐
jquery Firefox3.5中操作select的问题
Jul 10 Javascript
jQuery 三击事件实现代码
Sep 11 Javascript
jQuery内容过滤选择器用法分析
Feb 10 Javascript
js事件监听器用法实例详解
Jun 01 Javascript
Javascript简单实现面向对象编程继承实例代码
Nov 27 Javascript
AngularJs 指令详解及示例代码
Sep 01 Javascript
js随机生成一个验证码
Jun 01 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
Oct 28 Javascript
Vue实现多标签选择器
Nov 28 Javascript
Vue中key的作用示例代码详解
Jun 10 Javascript
Vue 简单实现前端权限控制的示例
Dec 25 Vue.js
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中的一个中文字符串截取函数
2007/02/14 PHP
浅析PHP Socket技术
2013/08/02 PHP
php生成excel文件的简单方法
2014/02/08 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
js中widow.open()方法使用详解
2013/07/30 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
JavaScript伸缩的菜单简单示例
2013/12/03 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
建筑投标担保书
2014/05/20 职场文书
文秘自荐信
2014/06/28 职场文书
欠款起诉书范文
2015/05/19 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
springboot集成flyway自动创表的详细配置
2021/06/26 Java/Android