最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue.js結(jié)合Ueditor富文本編輯器的實例代碼

 更新時間:2017年07月11日 14:35:29   作者:David糖  
本篇文章主要介紹了Vue.js結(jié)合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è)置編輯器的長度、寬度、初始文本,這些數(shù)據(jù)可以通過props來傳遞。編輯器中的文本變化可以通過vue自定義事件向父組件傳遞。

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

2.1 引入關(guān)鍵的JS以及CSS文件

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

2.2 配置Ueditor.config.js

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

var URL = window.UEDITOR_HOME_URL || '/static/ueditor/';

然后是默認寬度高度的設(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>
 <div ref="editor"></div>
</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">
 <div class="edit-area">
  <ueditor v-bind:value=defaultMsg v-bind:config=config v-on:input="input" v-on:ready="ready"></ueditor>
 </div>

</template>

<script>
 import ueditor from './ueditor.vue';

 export default {
 components: {
  ueditor,
 },
 data() {
  return {
  defaultMsg: '初始文本', 
  config: {
   initialFrameWidth: null,
   initialFrameHeight: 320,
  },
  };
 },
 };
</script>

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決vue 子組件修改父組件傳來的props值報錯問題

    解決vue 子組件修改父組件傳來的props值報錯問題

    今天小編就為大家分享一篇解決vue 子組件修改父組件傳來的props值報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue中對組件二開解決思路以及方案

    Vue中對組件二開解決思路以及方案

    這篇文章主要介紹了Vue中對組件二開解決思路以及方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-04-04
  • vue-rx的初步使用教程

    vue-rx的初步使用教程

    這篇文章主要介紹了vue-rx的初步使用教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Vue 實現(xiàn)拖動滑塊驗證功能(只有css+js沒有后臺驗證步驟)

    Vue 實現(xiàn)拖動滑塊驗證功能(只有css+js沒有后臺驗證步驟)

    這篇文章給大家介紹了基于vue實現(xiàn)拖動滑塊驗證功能,代碼引用css與js都是線上的,將代碼全部復制到一個html中可以直接打開,超級簡單,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-08-08
  • Vue.js雙向綁定實現(xiàn)原理詳解

    Vue.js雙向綁定實現(xiàn)原理詳解

    這篇文章主要為大家詳細介紹了Vue.js雙向綁定實現(xiàn)原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • vue項目的訪問端口及其設(shè)置方式

    vue項目的訪問端口及其設(shè)置方式

    這篇文章主要介紹了vue項目的訪問端口及其設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。
    2022-10-10
  • Vue中nvm-windows的安裝與使用教程(親測)

    Vue中nvm-windows的安裝與使用教程(親測)

    nvm全英文也叫node.js version management,是一個nodejs的版本管理工具,這篇文章主要介紹了Vue中nvm-windows的安裝與使用,需要的朋友可以參考下
    2023-02-02
  • Element-Plus Select組件實現(xiàn)滾動分頁加載功能

    Element-Plus Select組件實現(xiàn)滾動分頁加載功能

    Element-Plus的select組件并沒有自帶滾動分頁加載的功能,其雖然提供了自定義下拉菜單的底部的方式可以自定義上一頁及下一頁操作按鈕的方式進行分頁加載切換,這篇文章主要介紹了Element-Plus Select組件實現(xiàn)滾動分頁加載功能,需要的朋友可以參考下
    2024-03-03
  • vue使用路由的query配置項時清除地址欄的參數(shù)案例詳解

    vue使用路由的query配置項時清除地址欄的參數(shù)案例詳解

    這篇文章主要介紹了vue使用路由的query配置項時如何清除地址欄的參數(shù),本文通過案例給大家分享完美解決方案,需要的朋友可以參考下
    2023-09-09
  • Vuex的基本概念、項目搭建以及入坑點

    Vuex的基本概念、項目搭建以及入坑點

    Vuex是一個專門為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式,這篇文章主要介紹了Vuex的基本概念、項目搭建以及入坑點,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論

墨玉县| 金阳县| 扎兰屯市| 建平县| 万载县| 石屏县| 晋城| 遂平县| 青川县| 龙门县| 青海省| 胶南市| 龙山县| 南昌县| 灵宝市| 平昌县| 邵阳县| 慈溪市| 遂昌县| 望奎县| 手机| 仁寿县| 泉州市| 清河县| 韩城市| 芒康县| 罗山县| 土默特右旗| 广东省| 长阳| 聂拉木县| 象州县| 天镇县| 九龙县| 华安县| 尼玛县| 鄂托克前旗| 新平| 马山县| 栾城县| 通城县|