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