最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vuecli3.x中輕松4步帶你使用tinymce的步驟

 更新時間:2020年06月25日 09:24:04   作者:_Dreams  
這篇文章主要介紹了vuecli3.x中輕松4步帶你使用tinymce的步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

筆者在使用tinymce時發(fā)現(xiàn)跟著網(wǎng)上的方法去做,基本都會因為版本等一些問題報錯,所以筆者總結(jié)了以下方案!可以收藏哦

第一步:

npm install @tinymce/tinymce-vue@3.2.2 tinymce@5.3.1 -S

第二步:

找到node_modules中的skins文件夾,然后在項目中的public下新建tinymce文件夾,然后將剛剛找到的整個skins文件夾拷貝到public的tinymce目錄下。

接著去官網(wǎng)下載語言包,解壓,將langs文件夾拷貝到public的tinymce文件夾下(和skins文件夾同級)

第三步:

在components文件夾下新建tinymce組件的文件夾,新建index.vue文件,復(fù)制以下代碼進(jìn)去:

<template>
 <div class="tinymce-editor">
  <Editor
   :id="editorId"
   v-model="editorValue"
   :init="editorInit"
  />
 </div>
</template>

<script>
// 引入組件
import tinymce from 'tinymce/tinymce';
import Editor from '@tinymce/tinymce-vue';
import 'tinymce/icons/default/icons';
import 'tinymce/themes/silver';
// 引入富文本編輯器主題的js和css
import 'tinymce/themes/silver/theme.min';
import 'tinymce/skins/ui/oxide/skin.min.css';
// 擴(kuò)展插件
import 'tinymce/plugins/image';
import 'tinymce/plugins/link';
import 'tinymce/plugins/code';
import 'tinymce/plugins/table';
import 'tinymce/plugins/lists';
import 'tinymce/plugins/wordcount'; // 字?jǐn)?shù)統(tǒng)計插件
import 'tinymce/plugins/media';// 插入視頻插件
import 'tinymce/plugins/template';// 模板插件
import 'tinymce/plugins/fullscreen';
import 'tinymce/plugins/paste';
import 'tinymce/plugins/preview';
import 'tinymce/plugins/contextmenu';
import 'tinymce/plugins/textcolor';
export default {
 name: 'TinymceEditor',
 components: {Editor},
 props: {
  height: {
   type: Number,
   default: 500
  },
  id: {
   type: String,
   default: 'tinymceEditor'
  },
  value: {
   type: String,
   default: ''
  },
  plugins: {
   type: [String, Array],
   default: 'link lists image code table wordcount media fullscreen preview paste contextmenu textcolor'
  },
  toolbar: {
   type: [String, Array],
   default: 'fontselect | bold italic underline strikethrough | link unlink image | undo redo | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | code | removeformat'
  }
 },
 data() {
  return {
   editorInit: {
    language_url: `${window.baseUrl}/tinymce/langs/zh_CN.js`,
    language: 'zh_CN',
    skin_url: `${window.baseUrl}/tinymce/skins/ui/oxide`,
    content_css: `${window.baseUrl}/tinymce/skins/content/default/content.css`,
    height: this.height,
    content_style: '* { padding:0; margin:0; } img {max-width:100% !important }',
    plugin_preview_width: 375, // 預(yù)覽寬度
    plugin_preview_height: 668,
    lineheight_val: "1 1.1 1.2 1.3 1.35 1.4 1.5 1.55 1.6 1.75 1.8 1.9 1.95 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 3 3.1 3.2 3.3 3.4 4 5",
    fontsize_formats: "8pt 10pt 11pt 12pt 13pt 14pt 15pt 16pt 17pt 18pt 24pt 36pt",
    font_formats:"微軟雅黑='微軟雅黑';宋體='宋體';黑體='黑體';仿宋='仿宋';楷體='楷體';隸書='隸書';幼圓='幼圓';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings",
    plugins: this.plugins,
    powerpaste_word_import: 'merge',
    toolbar: this.toolbar,
    paste_data_images: true,
    statusbar: true, // 底部的狀態(tài)欄
    menubar: true, // 最上方的菜單
    branding: false, // 水印“Powered by TinyMCE”
    images_upload_handler: (blobInfo, success, failure) => {
     this.$emit('handleImgUpload', blobInfo, success, failure);
    }
   },
   editorId: this.id,
   newValue: ''
  };
 },
 watch: {
  newValue(newValue) {
   this.$emit('input', newValue);
  }
 },
 mounted() {
  tinymce.init({});
 },
 computed: {
  editorValue: {
   get() {
    return this.value;
   },
   set(val) {
    this.newValue = val;
   }
  }
 },
 methods: {
  // https://github.com/tinymce/tinymce-vue => All available events
  clear() {
   this.editorValue = '';
  }
 }
};
</script>

第四步:

在要使用的組件中加入以下代碼:

import TinymceEditor from '@/components/tinymce';

components: { //注冊TinymceEditor組件
  TinymceEditor
},

data() {
  return {
    content: '', //富文本的內(nèi)容
    baseUrl: window.baseUrl, //默認(rèn)為'' 空字符串
  }
}

computed:{
  realHeight() {
   return (window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight) - 200
  }
}

methods:{
  async imgUpload(blobInfo, success, failure) {
   const formData = new FormData();
   formData.append('file', blobInfo.blob());
   try {
    const res = await uploadFile(formData);
    success(this.server + res);
    console.log(this.server + res);
   } catch (e) {
    console.log(e);
    failure('上傳失敗:' + e);
   }
  },
}
模板中使用:

<tinymce-editor
 id="editor"
 ref="editor"
 v-model="content"
 :height="realHeight"
 @handleImgUpload="imgUpload"
/>

然后就大功告成:

到此這篇關(guān)于vuecli3.x中輕松4步帶你使用tinymce的步驟的文章就介紹到這了,更多相關(guān)vuecli3.x使用tinymce內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue2中Element?UI表單的使用詳解

    Vue2中Element?UI表單的使用詳解

    這篇文章主要為大家詳細(xì)介紹了Vue2中Element?UI表單的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • vue如何修改el-form-item中的label樣式修改問題

    vue如何修改el-form-item中的label樣式修改問題

    這篇文章主要介紹了vue如何修改el-form-item中的label樣式修改問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue實現(xiàn)購物車的全選、單選、顯示商品價格代碼實例

    Vue實現(xiàn)購物車的全選、單選、顯示商品價格代碼實例

    這篇文章主要介紹了Vue實現(xiàn)購物車的全選、單選、顯示商品價格實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 使用vue引入maptalks地圖及聚合效果的實現(xiàn)

    使用vue引入maptalks地圖及聚合效果的實現(xiàn)

    這篇文章主要介紹了使用vue引入maptalks地圖及聚合效果的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue?3.0?vue.config.js文件常用配置方式

    vue?3.0?vue.config.js文件常用配置方式

    這篇文章主要介紹了vue?3.0?vue.config.js文件常用配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue渲染器如何對節(jié)點進(jìn)行掛載和更新

    Vue渲染器如何對節(jié)點進(jìn)行掛載和更新

    這篇文章主要介紹了Vue 的渲染器是如何對節(jié)點進(jìn)行掛載和更新的,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • Vue watch 偵聽對象屬性詳解

    Vue watch 偵聽對象屬性詳解

    Vue的watch偵聽器格式有兩種:方法格式和對象格式的偵聽器,這篇文章主要介紹了Vue watch 偵聽對象屬性相關(guān)知識,需要的朋友可以參考下
    2023-04-04
  • vue模仿網(wǎng)易云音樂的單頁面應(yīng)用

    vue模仿網(wǎng)易云音樂的單頁面應(yīng)用

    這篇文章主要介紹了vue仿網(wǎng)易云音樂的單頁面應(yīng)用實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • VUE+Canvas實現(xiàn)財神爺接元寶小游戲

    VUE+Canvas實現(xiàn)財神爺接元寶小游戲

    這篇文章主要介紹了VUE+Canvas實現(xiàn)財神爺接元寶小游戲,需要的朋友可以參考下本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-04-04
  • vue中的computed?和?vm.$data?原理解析

    vue中的computed?和?vm.$data?原理解析

    這篇文章主要介紹了vue中的computed?和?vm.$data?原理,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論

青龙| 杨浦区| 罗田县| 马山县| 洮南市| 闽侯县| 虹口区| 阳春市| 凤庆县| 邯郸县| 桐庐县| 崇州市| 南召县| 象州县| 内乡县| 横峰县| 新野县| 朝阳市| 杭锦旗| 平乡县| 叶城县| 阳山县| 法库县| 和政县| 潼关县| 普安县| 常德市| 龙海市| 晋中市| 大渡口区| 合作市| 宁阳县| 偏关县| 双峰县| 宣化县| 商城县| 丹寨县| 西青区| 靖江市| 两当县| 无极县|