在前端開發(fā)的項目中,難免會遇到需要在頁面上集成一個富文本編輯器。那么,如果你有這個需求,希望可以幫助到你。
vue是前端開發(fā)者所追捧的框架,簡單易上手,但是基于vue的富文本編輯器大多數(shù)太過于精簡。于是我將百度富文本編輯器放到vue項目中使用。效果圖如下
廢話不多說。
1、使用vue-cli構(gòu)建一個vue項目。然后下載UEditor源碼,地址
把項目復(fù)制到vue項目的static文件下。目的是讓服務(wù)可以訪問到里面的文件,打開UEditor目錄文件。這里下載的是jsp版本的。文件名字沒有更改過。打開里面的ueditor.config.js文件找到serverUrl把這行代碼注釋了。這個代碼是用來上傳圖片的后臺地址。如果不注釋了會請求報錯。編輯器跑起來再做服務(wù)配置修改地址。
2、在.vue文件中引入主要js文件
import ‘../../static/utf8-jsp/ueditor.config' import ‘../../static/utf8-jsp/ueditor.all'; import ‘../../static/utf8-jsp/lang/zh-cn/zh-cn';
3、在data中申明一個變量存儲UEditor的實例方便在vue的其他地方使用,然后申明一個變量存儲手動獲取的編輯器里面的內(nèi)容,再什么一個變量存儲初始化時要寫入編輯器的內(nèi)容。三個變量。如果操作得當(dāng)。可以減少變量的時候。這是笨辦法
4、在vue的mounted鉤子函數(shù)中調(diào)用編輯器的方法生成實例存儲到剛剛申明的變量中,在實例中傳入?yún)?shù)。第一個是id,id是生成編輯器的div的id。第二個參數(shù)是一個對象。對象內(nèi)容是對編輯器的配置。如資源訪問路徑,toolbars內(nèi)容配置。
5、在html部分寫一個div標(biāo)簽
<div id="editor" type="text/plain" style="width:1024px;height:500px;"></div>
6、然后配置資源路徑。在實例化的時候傳入的參數(shù)里。第二個參數(shù)是一個對象。內(nèi)容包括路徑。
this.ue = UE.getEditor('editor',{ BaseUrl: '', UEDITOR_HOME_URL: 'static/utf8-jsp/', });
這個UEDITOR_HOME_URL就是配置編輯器自己訪問自己所需要的依賴的路徑。設(shè)置到存放的文件下utf8-jsp是編輯器文件的更目錄。目錄不一樣可自行更改
7、然后保存。就可以在界面上顯示一個完整的富文本編輯器
8、如果要獲取內(nèi)容則使用在data里面申明的編輯器實例在vue中this.實例調(diào)用方法getContent()可以獲取到內(nèi)容
9如果要設(shè)置內(nèi)容則調(diào)用:setContent('歡迎使用ueditor');
更多方法參考官方文檔。
10、文檔內(nèi)容屬于個人踩坑的心得。如有錯誤。請留言指出。謝謝
11、需要注意的是資源路徑容易搞錯。使用相對路徑即可
12、貼出代碼
html
<template> <div class="hello"> <div id="editor" type="text/plain" style="width:1024px;height:500px;"></div> <button @click="submits">保存</button> <button @click="xieru">寫入</button> </div> </template>
js
<script> import '../../static/utf8-jsp/ueditor.config' import '../../static/utf8-jsp/ueditor.all'; import '../../static/utf8-jsp/lang/zh-cn/zh-cn'; export default { name: 'hello', data () { return { ue: '', uedata: [], xierudata: [] } }, mounted() { this.ue = UE.getEditor('editor',{ BaseUrl: '', UEDITOR_HOME_URL: 'static/utf8-jsp/', // toolbars:[] }); }, methods: { submits(){ this.uedata.push(UE.getEditor('editor').getContent()); console.log(this.uedata.join("\n")); }, xieru(){ UE.getEditor('editor').setContent('歡迎使用ueditor'); } } } </script>
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com