vue項目中使用tinymce編輯器的步驟詳解
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 },
然后就可以調(diào)用起這個組件了。
下面看下vue項目中使用tinymce編輯器的方法,具體內(nèi)容如下所示:
第一步:npm install tinymce -S
第二步:創(chuàng)建組件
//增加模版 <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進(jìn)行個性化配置
tinymceinit() { const _this = this; const setting = { selector: "#tinymce", language: "zh_CN",//語言設(shè)置中文 menubar: false,//去除文件欄 branding: false,//去除右下角的'由tinymce驅(qū)動' elementpath: false,//左下角的當(dāng)前標(biāo)簽路徑 content_css: ["css文件路徑"],//對編輯器內(nèi)部需要的一些樣式 language_url: "zh_CN.js文件的路徑",//導(dǎo)入中文語言文件 skin_url: "../../../static/skins/lightgray",//在node_modules中tinymce文件夾中 setup: function(editor) {//設(shè)置自定義功能的按鈕 editor.addButton("uploadimg", {//單個按鈕,此處的uploading是該按鈕的名稱 icon: "image", //顯示的圖像 tooltip: "上傳圖片",//鼠標(biāo)放上去后現(xiàn)在是內(nèi)容 onclick: function() {} }); editor.addButton("geshi", {//按鈕列表,此處的geshi是該按鈕的名稱 text: "格式", //顯示的文字 type: "menubutton", menu: [ { text: "標(biāo)簽", onclick: function() {} } ] }); }, plugins: "lists paste link image contextmenu wordcount colorpicker textcolor media imagetools",//對應(yīng)上方import引入的文件,下面toolbar需要使用到 toolbar: "geshi bold bullist numlist | uploadimg | alignleft aligncenter alignright alignjustify outdent indent"http://定義工具欄 }; Object.assign(setting, _this.setting); tinymce.init(setting); },
第四步:在watch中監(jiān)聽傳入的value,并修改tinymce的內(nèi)容
value(newV, oldV) { tinymce.activeEditor.setContent(newV); },
其他:設(shè)置圖片
第一種:使用tinymce提供的接口
images_upload_handler: function (blobInfo, success, failure) { //blobInfo圖片對象 uploadimg(){ //上傳圖片(自己寫的方法) success('圖片的路徑') failure('錯誤提示') } }
第二種:我自己使用的方法,簡單說一下思路
1.使用setup自定義一個按鈕,按鈕的點(diǎn)擊事件就是選擇圖片(參考input,type=file),并上傳
2.將服務(wù)器返回的路徑包裝成<img src='返回的路徑'>
3.將自己包裝的img標(biāo)簽放入鼠標(biāo)當(dāng)前指針處
let dom = tinymce.activeEditor.dom; tinyMCE.execCommand("mceInsertContent",false,dom.createHTML("img", {src: 路徑}));
總結(jié)
以上所述是小編給大家介紹的vue項目中使用tinymce編輯器的步驟詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Vue.$set 失效的坑 問題發(fā)現(xiàn)及解決方案
這篇文章主要介紹了Vue.$set 失效的坑 問題發(fā)現(xiàn)及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07vue3為什么要用proxy替代defineProperty
這篇文章主要介紹了vue3為什么要用proxy替代defineProperty,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Vue3關(guān)于響應(yīng)式數(shù)據(jù)類型詳解(ref、reactive、toRef、及toRefs)
這篇文章主要介紹了Vue3關(guān)于響應(yīng)式數(shù)據(jù)類型(ref、reactive、toRef、以及toRefs),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-01-01vue+echarts實(shí)現(xiàn)條紋柱狀橫向圖
這篇文章主要為大家詳細(xì)介紹了vue+echarts實(shí)現(xiàn)條紋柱狀橫向圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04VUE2.0+ElementUI2.0表格el-table實(shí)現(xiàn)表頭擴(kuò)展el-tooltip
這篇文章主要介紹了VUE2.0+ElementUI2.0表格el-table實(shí)現(xiàn)表頭擴(kuò)展el-tooltip,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11Vue3利用組合式函數(shù)和Shared Worker實(shí)現(xiàn)后臺分片上傳
這篇文章主要為大家詳細(xì)介紹了Vue3如何利用組合式函數(shù)和Shared Worker實(shí)現(xiàn)后臺分片上傳(帶哈希計算),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10