国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue中如何創建多個ueditor實例教程

2019-11-19 14:56:28
字體:
來源:轉載
供稿:網友

前言

前一段時間公司Vue.js項目需要使用UEditor富文本編輯器,在百度上搜索一圈沒有發現詳細的說明,決定自己嘗試,忙活了一天終于搞定了。

具體可以參考這篇文章://m.survivalescaperooms.com/article/118413.htm

ueditor是百度編輯器,官網地址:http://ueditor.baidu.com/website/

完整的功能演示,可以參考:http://ueditor.baidu.com/website/onlinedemo.html

最近工作中要求升級,需要在vue中創建多個ueditor實例,我使用neditor,其實就是把ueditor樣式美化了下,其他和ueditor幾乎一樣,下面話不多說了,來一起看看詳細的介紹吧。

截圖


說明

下載ueditor或neditor源碼,拷貝到static目錄下面

然后修改ueditor.config.js配置文件

在vue項目的main.js添加ueditor引用

新建3個頁面 home,tab1,tab2。tab1和tab2是home下面的子頁面

在router-view外面一定要添加keep-alive組件和transition組件,不然ueditor實例無法保存

在components文件夾下面新建一個editor作為編輯器的公共組件

在tab1中調用editor,同時要傳入一個id并在editor頁面接受,注意如果需要多個實例,id一定不能相同

 <template> <div> <editor ref="editor" id="tab1Editor"></editor> <button @click="getContent" class="m-t-10">獲取內容</button> <div> <span>當前富文本編輯器內容是: {{content}}</span> </div> </div> </template> <script> import Editor from '@/components/editor' export default { name: 'tab1', components: { Editor }, data() { return { content:'' } }, methods: { //獲取內容 getContent(){ this.content = this.$refs.editor.content } } } </script> <style scoped> .m-t-10{ margin-top: 10px; } </style>

editor頁面代碼,因為我們在router-view套用了keep-alive,所以ueditor的初始化一定要放在activated里面,
確保每次進入頁面都會重新渲染ueditor,在deactivated里面調用ueditor的destroy方法,確保每次離開頁面的時候
會銷毀編輯器實例,這樣就可以渲染多個ueditor實例了,并且每次切換都能保存編輯器的內容。

如果多個tab只需要一個實例請調用reset()方法

 <template> <div> <div :id="this.id"></div> </div> </template> <script> export default { name: 'editor', props: ['id'], data() { return { ue: '', //ueditor實例 content: '', //編輯器內容 } }, methods: { //初始化編輯器 initEditor() { this.ue = UE.getEditor(this.id, { initialFrameWidth: '100%', initialFrameHeight: '350', scaleEnabled: true }) //編輯器準備就緒后會觸發該事件 this.ue.addListener('ready',()=>{ //設置可以編輯 this.ue.setEnabled() }) //編輯器內容修改時 this.selectionchange() }, //編輯器內容修改時 selectionchange() { this.ue.addListener('selectionchange', () => { this.content = this.ue.getContent() }) } }, activated() { //初始化編輯器 this.initEditor() }, deactivated() { //銷毀編輯器實例,使用textarea代替 this.ue.destroy() //重置編輯器,可用來做多個tab使用同一個編輯器實例 //如果要使用同一個實例,請注釋destroy()方法 //this.ue.reset() } } </script>

源碼地址

github:https://github.com/oblivioussing/vue-ueditor-multi

本地下載:http://xiazai.VeVB.COm/201711/yuanma/vue-ueditor-multi(VeVB.COm).rar

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤冈县| 如皋市| 呼玛县| 天水市| 富锦市| 车险| 合山市| 旬阳县| 南昌市| 望城县| 环江| 闵行区| 金山区| 太保市| 墨竹工卡县| 湟源县| 增城市| 宝清县| 剑川县| 宜城市| 怀来县| 商水县| 勐海县| 金川县| 华亭县| 武胜县| 南溪县| 黄梅县| 米林县| 峨眉山市| 海阳市| 临颍县| 平泉县| 金阳县| 栾川县| 翁牛特旗| 盐亭县| 叶城县| 元朗区| 奉贤区| 洪湖市|