vue2中使用 Tinymce 5.1.0使用过程举例

一、背景

vue-cli 版本 :@vue/cli 4.5.15

查看脚手架版本的方法:Win + R 打开运行输入: cmd  ,打开控制台输入 vue -V

 vue 版本:"vue": "^2.6.11",

二、安装 Tinymce

 1、  --no-fund 是因为提示你捐赠支持,加上这个就忽略捐赠。(Tinymce不同版本会有不同请注意版本。

npm install npm install tinymce@5.1.0 -S --no-fund

2、安装成功以后在 nodelmodules 会有 tinumce 文件夹,结构目录如图所示

3、将 plugins、skins、thems文件都复制到 public\static 文件夹,新建langs 文件夹,zh_CN.js为汉化语言包。其他tinymce 的版本的语言包在我都资源中都有,这是tinymce 5 的语言包下载地址 https://download.csdn.net/download/Drizzlejj/87451093?spm=1001.2014.3001.5503 当然也可以去自行去官网下载。

  三、 创建示例

1、在views 文件夹下新建 Tinymce.vue 文件

<template>
<div>
    <div id="tinymce" ></div>
    <input type="button" @click="getContent()" value="获得内容" >
</div>
  
</template>
<script>
import tinymce from "tinymce/tinymce"; //tinymce默认hidden,不引入不显示
import "tinymce/themes/silver/theme"; //编辑器主题
import "tinymce/plugins/link"; //超链接
import 'tinymce/plugins/paste'  //粘贴过滤
import 'tinymce/plugins/preview'  //预览
import 'tinymce/plugins/media'
import 'tinymce/plugins/image'
import 'tinymce/plugins/advlist'
import 'tinymce/plugins/code'  // 源代码

export default {
  data() {
    return {
      
    };
  },
  mounted() {
    // 初始化编辑器
    this.initTiny();
  },
  methods: {
    // 初始化编辑器
    initTiny(){
        var tinyID='tinymce';
        tinymce.init({
            selector: '#'+tinyID,
            language_url: '../static/langs/zh_CN.js',  // 汉化路径
            language:'zh_CN',
            skin_url: '../static/skins/ui/oxide-dark', // 编辑器皮肤
            content_css: `../static/skins/content/default/content.css`,  // 编辑器样式
            plugins: 'link media image advlist code',  // 插件
            toolbar: 'undo redo | styleselect | bold italic aligncenter| link image media code', // 菜单栏
            auto_focus: true,
        });
    },
    // 点击获取内容
    getContent(){
        var cnt = tinymce.editors['tinymce'].getContent();
        console.log(cnt);
        alert(cnt);
    },
  }
};
</script>

2、在路由中引入组件,编写地址

3、运行结果如图所示,在输入框中输入内容,点击获取内容:

 3.1 获取输入内容纯文本

getContent(){
        var cnt = tinymce.editors['tinymce'].getContent({ format: 'text' });
        console.log(cnt);
        alert(cnt);
    },

3.2 销毁编辑器

destroyTiny(){
    tinymce.editors[tinyID].destroy();
    //tinyMCE.editors[tinyID].remove();
}

 四、tinymce 基本配置

1、selector是TinyMCE的重要配置选项,使用CSS选择器语法来确定页面上哪个元素被TinyMCE替换成编辑器。

tinymce.init({
    selector: '#textarea'
});

2、插件配置

plugins配置参数用于指定哪些插件被用在当前编辑器实例中。TinyMCE自带丰富的插件,也可以编写自己的插件,用此选项引入。

tinymce.init({
    selector: '#textarea',
    plugins : 'advlist autolink link image lists preview', //字符串方式
    //plugins : ['advlist','autolink','link'], //数组方式
});

3.工具栏配置

使用toolbar来配置工具栏上可用的按钮,多个控件使用空格分隔,使用“|”来创建分组。

 lineheight(行高5.5新增) newdocument(新文档) bold(加粗)italic(斜体)underline(下划线) strikethrough(删除线)alignleft(左对齐)aligncenter(居中对齐)alignright(右对齐)alignjustify(两端对齐)  styleselect(格式设置) formatselect(段落格式) fontselect(字体选择) fontsizeselect(字号选择)cut(剪切)copy(复制)paste(粘贴)bullist(项目列表UL)numlist(编号列表OL)outdent(减少缩进) indent(增加缩进)blockquote(引用)undo(撤销)redo(重做/重复)removeformat(清除格式)subscript(下角标)superscript(上角标)

 4、菜单栏配置

menu:影响菜单上放置的项目(其还提供创建自定义标题菜单的方法)。

menubar:影响菜单下拉列表中显示的项目。

4.2自定义菜单,如要菜单栏消失:menubar:false,

 5、设置编辑器的宽高,默认单位为像素(px),如提供了单位,TinyMCE会以css模式去理解它。单位支持px/%/em/vh/vw

tinymce.init({
    selector: '#tinydemo',
    width: 300,
    height: 300,
});

 6、图片上传

1、images_upload_url :用于指定一个接受上传文件的后端处理接口地址;images_upload_base_path:可以给相对路径指定它所相对的基本路径。(本例中由于后台在本地运行,后台返回的相对路径,我在路径上加了地址)

 2、后端返回的格式必须是:

//json格式
{ "location": "folder/sub-folder/new-location.png" }

3、示例:

 7、首行缩进

 下载首行缩进的插件,放入 plugins 中。http://tinymce.ax-z.cn/more-plugins/indent2em.zip

使用方法同一般插件

效果:

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值