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 相关文章推荐
Stop SQL Server
Jun 21 Javascript
javascript实现youku的视频代码自适应宽度
May 25 Javascript
关于Javascript回调函数的一个妙用
Aug 29 Javascript
详解jquery easyui之datagrid使用参考
Dec 05 Javascript
微信小程序 页面跳转及数据传递详解
Mar 14 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
解决angularjs中同步执行http请求的方法
Aug 13 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
vue中实现动态生成二维码的方法
Feb 21 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 Javascript
微信小程序tab左右滑动切换功能的实现代码
Feb 08 Javascript
jQuery ajax - getScript() 方法和getJSON方法
May 14 jQuery
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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
php检测文本的编码
2015/07/26 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
js循环改变div颜色具体方法
2013/06/25 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
Angular 2使用路由自定义弹出组件toast操作示例
2019/05/10 Javascript
Vue中跨域及打包部署到nginx跨域设置方法
2019/08/26 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
Python datetime时间格式化去掉前导0
2014/07/31 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
python列表使用实现名字管理系统
2019/01/30 Python
WxPython建立批量录入框窗口
2019/02/27 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
简单叙述一下MYSQL的优化
2016/05/09 面试题
Unix里面如何在后台运行程序
2016/10/14 面试题
岗位竞聘书范文
2014/03/31 职场文书
兽医医药专业求职信
2014/07/27 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
护士个人年终总结
2015/02/13 职场文书
大客户经理岗位职责
2015/04/09 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL