vue集成kindeditor富文本的实现示例代码


Posted in Javascript onJune 07, 2019

指令

该指令的作用是dom渲染后触发,因为非vue的插件有的是dom必须存在的情况下才可以执行

Vue.directive('loaded-callback', {
 inserted: function (el, binding, vnode) {
 binding.value(el, binding, vnode)
 }
})

安装kindeditor

npm install kindeditor

kindeditor组件

<template>
 <div class="kindeditor">
  <textarea class="form-control" ref="kindeditor" v-model="localValue" name="content" v-loaded-callback='initKindeditor'></textarea>
 </div>
</template>

<script>
import '../../../../../node_modules/kindeditor/kindeditor-all.js'
import '../../../../../node_modules/kindeditor/lang/zh-CN.js'
import '../../../../../node_modules/kindeditor/themes/default/default.css'
export default {
 name: 'kindeditor',
 props: ['options', 'value'],
 data () {
  return {
   localValue: ''
  }
 },
 watch: {
  localValue: 'updateValue',
  value: 'setDefault'
 },
 created () {
  this.setDefault()
 },
 methods: {
  initKindeditor () {
    var _this = this
    // 默认参数
    var options = {
      uploadJson: 'upload/image',
      width: '100%',
      afterChange () {
        _this.localValue = this.html()
      }
    }
    // 调用外部参数
    if (_this.options) {
      for(var i in _this.options){
        options[i] = _this.options[i]
      }
    }
    KindEditor.create(_this.$refs.kindeditor,options);
  },
  // 设置初始值
  setDefault () {
   this.localValue = this.value
  },
  // 修改父件的值
  updateValue () {
   this.$emit('input',this.localValue)
  }
 }
}
</script>

用法

<kindeditor :options="options" v-model="content"></kindeditor>

options参考

http://kindeditor.net/docs/option.html

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
浅析javascript闭包 实例分析
Dec 25 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
May 28 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
js sort 二维数组排序的用法小结
Jan 24 Javascript
你所不了解的javascript操作DOM的细节知识点(一)
Jun 17 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
Sep 09 Javascript
深入理解vue Render函数
Jul 19 Javascript
javascript按钮禁用和启用的效果实例代码
Oct 29 Javascript
redux-saga 初识和使用
Mar 10 Javascript
layui扩展上传组件模拟进度条的方法
Sep 23 Javascript
JavaScript浅层克隆与深度克隆示例详解
Sep 01 Javascript
vue 实现一个简单的全局调用弹窗案例
Sep 10 Javascript
Vue使用Proxy监听所有接口状态的方法实现
Jun 07 #Javascript
你了解vue3.0响应式数据怎么实现吗
Jun 07 #Javascript
ES6小技巧之代替lodash
Jun 07 #Javascript
vue+element 模态框表格形式的可编辑表单实现
Jun 07 #Javascript
vue-cli3项目展示本地Markdown文件的方法
Jun 07 #Javascript
Element实现表格分页数据选择+全选所有完善批量操作
Jun 07 #Javascript
详解vue项目中实现图片裁剪功能
Jun 07 #Javascript
You might like
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
php垃圾代码优化操作代码
2010/08/05 PHP
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
jquery的键盘事件修改代码
2011/02/24 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
Python函数嵌套实例
2014/09/23 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
python邮件发送smtplib使用详解
2020/06/16 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
前台领班岗位职责
2013/12/04 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
体育教师求职信
2014/05/24 职场文书
师范生求职信
2014/06/14 职场文书
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
业务员辞职信范文
2015/03/02 职场文书
大学团日活动总结书
2015/05/11 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL
详解php中流行的rpc框架
2021/05/29 PHP