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 相关文章推荐
javascript调试说明
Jun 07 Javascript
jQuery提交表单ajax查询实例代码
Oct 07 Javascript
15款jQuery分布引导插件分享
Feb 04 Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
jquery+css实现的红色线条横向二级菜单效果
Aug 22 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
Aug 24 Javascript
JS中使用变量保存arguments对象的方法
Jun 03 Javascript
vue中datepicker的使用教程实例代码详解
Jul 08 Javascript
vue-router的hooks用法详解
Jun 08 Javascript
利用js实现简易红绿灯
Oct 15 Javascript
详解datagrid使用方法(重要)
Nov 06 Javascript
swiperjs实现导航与tab页的联动
Dec 13 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
使用 MySQL Date/Time 类型
2008/03/26 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
深入理解PHP中的global
2014/08/19 PHP
PHP实现采集中国天气网未来7天天气
2014/10/15 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
微信小程序实现多宫格抽奖活动
2020/04/15 Javascript
详解react-redux插件入门
2018/04/19 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
Python中的pprint折腾记
2015/01/21 Python
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
python计算圆周率pi的方法
2015/07/11 Python
Python编程中的异常处理教程
2015/08/21 Python
pycharm创建一个python包方法图解
2019/04/10 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
高考自主招生自荐信
2013/10/20 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
Django 如何实现文件上传下载
2021/04/08 Python
Django利用AJAX技术实现博文实时搜索
2021/05/06 Python
Python异常类型以及处理方法汇总
2021/06/05 Python
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技