<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Vue.js結合Ueditor富文本編輯器的使用方法

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 19:34:59
        文檔

        Vue.js結合Ueditor富文本編輯器的使用方法

        Vue.js結合Ueditor富文本編輯器的使用方法:本篇文章主要介紹了Vue.js結合Ueditor的項目實例代碼,這里整理了詳細的代碼,具有一定的參考價值,有興趣的可以了解一下在前端開發(fā)的項目中。難免會遇到需要在頁面上集成一個富文本編輯器。前一段時間公司Vue.js項目需要使用UEditor富文本編輯器,在百度上
        推薦度:
        導讀Vue.js結合Ueditor富文本編輯器的使用方法:本篇文章主要介紹了Vue.js結合Ueditor的項目實例代碼,這里整理了詳細的代碼,具有一定的參考價值,有興趣的可以了解一下在前端開發(fā)的項目中。難免會遇到需要在頁面上集成一個富文本編輯器。前一段時間公司Vue.js項目需要使用UEditor富文本編輯器,在百度上
        本篇文章主要介紹了Vue.js結合Ueditor的項目實例代碼,這里整理了詳細的代碼,具有一定的參考價值,有興趣的可以了解一下

        在前端開發(fā)的項目中。難免會遇到需要在頁面上集成一個富文本編輯器。
        前一段時間公司Vue.js項目需要使用UEditor富文本編輯器,在百度上搜索一圈沒有發(fā)現(xiàn)詳細的說明,決定自己嘗試,忙活了一天終于搞定了。

        1. 總體思路

        1.1 模塊化

        vue的很大的一個優(yōu)勢在于模塊化,我們可以通過模塊化實現(xiàn)頁面和邏輯的復用。所以可以把Ueditor重新封裝成一個.vue的模板文件。其他組件通過引入這個模板實現(xiàn)代碼復用。

        1.2 數(shù)據(jù)傳輸

        首先父組件需要設置編輯器的長度、寬度、初始文本,這些數(shù)據(jù)可以通過props來傳遞。編輯器中的文本變化可以通過vue自定義事件向父組件傳遞。

        2. 具體實現(xiàn)步驟

        2.1 引入關鍵的JS以及CSS文件

        將以下文件全部拷貝到項目中

        2.2 配置Ueditor.config.js

        首先配置URL參數(shù),我們需要將這個路徑指向剛才拷貝的文件的更目錄,注意這里最好使用相對路勁。

        然后是默認寬度高度的設置

        ,initialFrameWidth:null // null表示寬度自動
        ,initialFrameHeight:320

        其他功能的配置可以在官方文檔查看

        2.3 創(chuàng)建編輯器模板

        我們需要在編輯器模板中import Ueditor核心JS庫,并添加contentChange回調(diào)函數(shù)就大功告成了。

        之所以使用import語法來引入核心JS庫是因為這樣更符合ES6模塊化的規(guī)范,我看到網(wǎng)上有人建議在main.js中引入JS,但是過早地引入JS可能導致頁面首次加載緩慢。

        <template>
         <p ref="editor"></p>
        </template>
        
        <script>
         /* eslint-disable */
         import '../../../assets/js/ueditor/ueditor.config';
         import '../../../assets/js/ueditor/ueditor.all';
         import '../../../assets/js/ueditor/lang/zh-cn/zh-cn';
        
         import { generateRandonInteger } from '../../../vuex/utils';
        
         export default {
         data() {
         return {
         id: generateRandonInteger(100000) + 'ueditorId',
         };
         },
         props: {
         value: {
         type: String,
         default: null,
         },
         config: {
         type: Object,
         default: {},
         }
         },
         watch: {
         value: function value(val, oldVal) {
         this.editor = UE.getEditor(this.id, this.config);
         if (val !== null) {
         this.editor.setContent(val);
         }
         },
         },
         mounted() {
         this.$nextTick(function f1() {
         // 保證 this.$el 已經(jīng)插入文檔
        
         this.$refs.editor.id = this.id;
         this.editor = UE.getEditor(this.id, this.config);
        
         this.editor.ready(function f2() {
         this.editor.setContent(this.value);
        
         this.editor.addListener("contentChange", function () {
         const wordCount = this.editor.getContentLength(true);
         const content = this.editor.getContent();
         const plainTxt = this.editor.getPlainTxt();
         this.$emit('input', { wordCount: wordCount, content: content, plainTxt: plainTxt });
         }.bind(this));
        
         this.$emit('ready', this.editor);
         }.bind(this));
         });
         },
         };
        </script>
        
        <style>
         body{
         background-color:#ff0000;
         }
        </style>

        3. 編輯器的使用

        使用編輯器模板的時候我需要通過props傳入config以及初始文本value。

        <template xmlns:v-on="http://www.w3.org/1999/xhtml">
         <p class="edit-area">
         <ueditor v-bind:value=defaultMsg v-bind:config=config v-on:input="input" v-on:ready="ready"></ueditor>
         </p>
        
        </template>
        
        <script>
         import ueditor from './ueditor.vue';
        
         export default {
         components: {
         ueditor,
         },
         data() {
         return {
         defaultMsg: '初始文本', 
         config: {
         initialFrameWidth: null,
         initialFrameHeight: 320,
         },
         };
         },
         };
        </script>

        如果需要讓Ueditor上傳圖片的話,還需要在后臺配置一個接口。這部分還沒有時間研究,等過幾天補上

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Vue.js結合Ueditor富文本編輯器的使用方法

        Vue.js結合Ueditor富文本編輯器的使用方法:本篇文章主要介紹了Vue.js結合Ueditor的項目實例代碼,這里整理了詳細的代碼,具有一定的參考價值,有興趣的可以了解一下在前端開發(fā)的項目中。難免會遇到需要在頁面上集成一個富文本編輯器。前一段時間公司Vue.js項目需要使用UEditor富文本編輯器,在百度上
        推薦度:
        標簽: VUE 的說明 ueditor
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成在线播放网站| 亚洲午夜精品久久久久久app| 亚洲av日韩av高潮潮喷无码| 国产成人精品亚洲2020| a毛片免费观看完整| 热99re久久精品精品免费| 婷婷精品国产亚洲AV麻豆不片 | 亚洲电影免费在线观看| 国产精品久久久久久久久免费| 国产中文字幕免费观看| 久久久久亚洲AV成人网人人网站| 亚洲成a人片在线观看天堂无码 | 精品亚洲福利一区二区| 国产在线观看免费观看不卡| 精品国产亚洲男女在线线电影 | 亚洲乱码国产一区网址| 亚洲AV无码一区二区三区人| 国产va在线观看免费| 怡红院亚洲怡红院首页| 久久一区二区三区免费播放| 亚洲综合小说久久另类区 | 在人线av无码免费高潮喷水| 亚洲va在线va天堂成人| 免费鲁丝片一级在线观看| 美女18一级毛片免费看| 在线a亚洲v天堂网2019无码| 日本免费久久久久久久网站| 亚洲中文字幕人成乱码| 国产一卡二卡≡卡四卡免费乱码| 久久免费香蕉视频| 亚洲综合久久成人69| 好吊妞788免费视频播放| 在线播放免费人成视频网站 | mm1313亚洲国产精品美女| 羞羞视频免费网站在线看| 久久丫精品国产亚洲av不卡 | 波多野结衣亚洲一级| 免费在线视频一区| 无码日韩精品一区二区免费暖暖| 亚洲无码一区二区三区| 亚洲尤码不卡AV麻豆|