关于在vue 中使用百度ueEditor编辑器的方法实例代码


Posted in Javascript onSeptember 14, 2018

1. 安装  npm i vue-ueditor --save-dev

2.从nodemodels  取出ueditor1_4_3_3 这整个目录,放入vue 的 static 目录 

3.配置 ueditor.config.js 的  21行代码  更改路径   var URL = '/static/ueditor1_4_3_3/' || getUEBasePath(); 

 (1)     serverUrl: URL + 'php/controller.php',  这里是你配置的上传内容的 url ;不需要可以删除;

 (2) 部分人使用时出现以下报错:

Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them...

这个问题是因为项目中的使用的babel默认添加了use strict造成,可参考 https://segmentfault.com/q/1010000007415253

我采用的是链接中答案的第三种方式:添加了babel-plugin-transform-remove-strict-mode,并在.babelrc里添加下列代码;

2-1.1   或者在webpack.base.conf.js 添加 

loaders: [{

test: /\.js$/,


exclude: /(node_modules|bower_components)/,


loader: 'babel',


query: {


presets: ['es2015']

}}]

4.如果不需要以组建的方式引入 则 可以这么写 ;

<VueUeditor ueditorPath="./../../static/ueditor/" @ready="editorReady"></VueUeditor>
<script>
 import VueUeditor from 'vue-ueditor';
 import ueditor from '../components/UE';
 export default {
  components: {VueUeditor,ueditor},
  data() {
   return {
    defaultMsg: '这里是UE测试',
    content1: '这里是UE',
    ue1: "ue1",
    config: {
     initialFrameWidth: 800,
     initialFrameHeight: 350
    }
   }
  },
  methods: {
    getUEContent() {
    // 获取ueditor值
      let content1 = UE.getEditor(this.ue1).getContentTxt();;
      console.log(content1)
  }, 
    editorReady(editorInstance){
      editorInstance.setContent("哈哈哈")
    }
  }
 };

5.如果要自定义组件的方式 在每个页面引入 则  在components 中新建ue.vue 文件 贴入这个代码

<template>
    <script :id=id type="text/plain"></script>
</template>
<script>
  export default {
    name: 'UE',
    data() {
      return {
        editor: null
      }
    },
    props: {
      content: {
        type: String,
        default:''
      },
      config: {
        type: Object,
      },
      id: {
        type: String
      }
    },
    mounted() {
      const _this = this;
      _this.editor = UE.getEditor(_this.id, _this.config); // 初始化UE
      _this.editor.addListener("ready", function () {
        _this.editor.setContent(_this.content); // 确保UE加载完成后,放入内容。
      });
    },
    methods: {
      getContent() { 
          // 获取内容方法
        return this.editor.getContentTxt();;
      }
    },
    destroyed() {
      this.editor.destroy();
    },
  }
</script>

然后就可以   import ueditor from '../components/UE';   //引入

<ueditor :content=content1 :config=config :id="ue1"></ueditor> //使用
<script>
 import VueUeditor from 'vue-ueditor';
 import ueditor from '../components/UE';
 export default {
  components: {VueUeditor,ueditor},
  data() {
   return {
    defaultMsg: '这里是UE测试',
    content1: '这里是UE',
    ue1: "ue1",
    config: {
     initialFrameWidth: 800,
     initialFrameHeight: 350
    }
   }
  },
  methods: {
     getUEContent() {
    // 获取ueditor值
      let content1 = UE.getEditor(this.ue1).getContentTxt();;
      console.log(content1)
    },
    editorReady(editorInstance){
       editorInstance.setContent("哈哈哈")
     }
  }
 };
</script>

这样就可以了。

附配置清单

1. 实例化编辑器到id为 container 的 dom 容器上:
   var ue = UE.getEditor('container');
2. 设置编辑器内容:
    ue.setContent('<p>hello!</p>');
3. 追加编辑器内容:
    ue.setContent('<p>new text</p>', true);
4. 获取编辑器html内容:
    var html = ue.getContent();
5. 获取纯文本内容:
    ue.getContentTxt();
6. 获取保留格式的文本内容:
    ue.getPlainTxt();
7. 判断编辑器是否有内容:
    ue.hasContents();
8. 让编辑器获得焦点:
    ue.focus();
9. 让编辑器失去焦点
    ue.blur();
10. 判断编辑器是否获得焦点:
    ue.isFocus();
11. 设置当前编辑区域不可编辑:
    ue.setDisabled();
12. 设置当前编辑区域可以编辑:
    ue.setEnabled();
13. 隐藏编辑器:
    ue.setHide();
14. 显示编辑器:
    ue.setShow();
15. 清空内容:
    ue.execCommand('cleardoc');
16. 读取草稿箱:
    ue.execCommand('drafts');
17. 清空草稿箱:
  ue.execCommand('clearlocaldata');

 本来需求是 从后台读取文件内容,内容是代码,返回到前台,高亮显示像 ide一样可以实时编辑代码,代码可以高亮,类似编辑器的主题一样,然后可以保存提交 到后台,找了半天没找到合适的插件;

总结

以上所述是小编给大家介绍的关于在vue 中使用百度ueEditor编辑器的方法实例代码 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
基于iframe实现类似于ajax的页面无刷新
May 31 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
Jun 15 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 Javascript
JavaScript每天必学之数组和对象部分
Sep 17 Javascript
如何提高数据访问速度
Dec 26 Javascript
基于JavaScript实现购物车功能
Feb 07 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
Jul 26 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
Sep 21 jQuery
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 Javascript
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
react项目实践之webpack-dev-serve
Sep 14 #Javascript
javacript replace 正则取字符串中的值并替换【推荐】
Sep 13 #Javascript
vue删除html内容的标签样式实例
Sep 13 #Javascript
如何解决vue2.0下IE浏览器白屏问题
Sep 13 #Javascript
vue2.0获取鼠标位置的方法
Sep 13 #Javascript
vue实现动态列表点击各行换色的方法
Sep 13 #Javascript
更改BootStrap popover的默认样式及popover简单用法
Sep 13 #Javascript
You might like
很实用的一个完整email发送程序
2006/10/09 PHP
php session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
php解析url的三个示例
2014/01/20 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
php实现微信支付之现金红包
2018/05/30 PHP
ext读取两种结构的xml的代码
2008/11/05 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
javascript省市区三级联动下拉框菜单实例演示
2015/11/29 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
JavaScript必看小技巧(必看)
2016/06/07 Javascript
浅谈javascript中的constructor
2016/06/08 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
python开发之文件操作用法实例
2015/11/13 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
PHP面试题及答案二
2015/05/23 面试题
经典C++面试题一
2016/11/06 面试题
保护环境倡议书
2014/04/14 职场文书
高中社区服务活动报告
2015/02/05 职场文书
小学生节水倡议书
2015/04/29 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers