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触发器详解
Mar 10 Javascript
use jscript Create a SQL Server database
Jun 16 Javascript
超级退弹代码
Jul 07 Javascript
JavaScript将Table导出到Excel实现思路及代码
Mar 13 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
JS设置下拉列表框当前所选值的方法
Dec 22 Javascript
Javascript实现代码折叠功能
Aug 25 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
Sep 01 Javascript
Centos7 中安装 Node.js v4.4.4
Nov 03 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 Javascript
vue.js实现照片放大功能
Jun 23 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 事件机制(2)
2011/03/23 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
js判断变量是否空值的代码
2008/10/26 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
微信和qq时间格式模板实例详解
2016/10/21 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[44:43]完美世界DOTA2联赛决赛日 FTD vs GXR 第一场 11.08
2020/11/11 DOTA
python批量导出导入MySQL用户的方法
2013/11/15 Python
python冒泡排序算法的实现代码
2013/11/21 Python
python操作xml文件示例
2014/04/07 Python
python写的ARP攻击代码实例
2014/06/04 Python
Python标准库内置函数complex介绍
2014/11/25 Python
Python随机生成数模块random使用实例
2015/04/13 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
python实现三维拟合的方法
2018/12/29 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
Python ArgumentParse的subparser用法说明
2020/04/20 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
医院节能减排方案
2014/06/13 职场文书
英语系毕业生求职信
2014/07/13 职场文书
关于颐和园的导游词
2015/01/30 职场文书
一个都不能少观后感
2015/06/04 职场文书
分享python函数常见关键字
2022/04/26 Python