您好,欢迎访问一九零五行业门户网

vue中创建多个ueditor实例教程分享

本文主要给大家介绍了关于vue中如何创建多个ueditor的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。希望能帮助到大家。
前言
前一段时间公司vue.js项目需要使用ueditor富文本编辑器,在百度上搜索一圈没有发现详细的说明,决定自己尝试,忙活了一天终于搞定了。
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>  <p>  <editor ref="editor" id="tab1editor"></editor>  <button @click="getcontent" class="m-t-10">获取内容</button>  <p>  <span>当前富文本编辑器内容是: {{content}}</span>  </p>  </p>  </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>  <p>  <p :id="this.id"></p>  </p>  </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>
大家学会了吗?赶紧动手尝试一下吧。
相关推荐:
easyui ueditor 不能编辑问题整合
ueditor编辑器的用法图文教程
有关ueditor编辑器的文章推荐10篇
以上就是vue中创建多个ueditor实例教程分享的详细内容。
其它类似信息

推荐信息