关于在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 相关文章推荐
JQUERY复选框CHECKBOX全选,取消全选
Aug 30 Javascript
创建公共调用 jQuery Ajax 带返回值
Aug 01 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
简单分析javascript面向对象与原型
May 21 Javascript
JQuery validate插件验证用户注册信息
May 11 Javascript
AngularJS实现DOM元素的显示与隐藏功能
Nov 22 Javascript
js实现文本上下来回滚动
Feb 03 Javascript
JavaScript中 ES6变量的结构赋值
Jul 10 Javascript
详解async/await 异步应用的常用场景
May 13 Javascript
vue集成chart.js的实现方法
Aug 20 Javascript
基于JavaScript实现单例模式
Oct 30 Javascript
分享Angular http interceptors 拦截器使用(推荐)
Nov 10 Javascript
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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
2014/11/22 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
PHP提高编程效率的20个要点
2015/09/23 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
ThinkPHP中create()方法自动验证实例
2017/04/26 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
一个JS翻页效果
2007/07/23 Javascript
JavaScript中Math对象使用说明
2008/01/16 Javascript
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
python计算方程式根的方法
2015/05/07 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
【HTML5】Canvas绘制简单图片教程
2016/05/13 HTML / CSS
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
绿色城市实施方案
2014/03/19 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js