Simditor学习--vuejs集成simditor
唠叨
因为项目需要我自己研究了和集成在vue方便以后再使用,详情官方文档在这里。希望大家有好的建议提出让我继续改进。
simditor介绍
Simditor 是团队协作工具 Tower 使用的富文本编辑器,基于jQuery开发。
相比传统的编辑器它的特点是:
- 功能精简,加载快速
- 输出格式化的标准 HTML
- 每一个功能都有非常优秀的使用体验
- 兼容的浏览器:IE10+、Chrome、Firefox、Safari。
Vue集成
下载:
点击这里下载的压缩文件。你也可以通过bower或者npm安装simditor:
$ npm install simditor$ bower install simditor
这里主要讲的集成到vuejs,其他引入方式自行翻阅官网。
初始化:
html模版如下:
<textarea :id="textnames" >
<p>{{value}}</p>
</textarea>
我们只需要他接收父组件的值和传值回父组件,所以不需要太复杂。
js模版如下:
import Simditor from 'simditor'
export default {
props: ['value'],
data() {
return {
textnames: new Date().getTime(),//这里防止多个富文本发生冲突
editor:'',//保存simditor对象
toolbar: ['bold', 'italic', 'underline', 'strikethrough',
'color', '|', 'ol', 'ul', 'blockquote', 'code', '|',
'link', 'image', '|', 'indent', 'outdent'
]//自定义工具栏
}
},
ready() {
this.createEditor()
},
methods: {
createEditor() {
var _this = this
this.editor = new Simditor({
textarea: $('#' + _this.namess),
toolbar: _this.toolbar,
upload: {
url: apic + '/api/CommAnnex/UploadFiles', //文件上传的接口地址
// params: null, //键值对,指定文件上传接口的额外参数,上传的时候随文件一起提交
fileKey: 'fileDataFileName', //服务器端获取文件数据的参数名
connectionCount: 3,//同时上传个数
leaveConfirm: '正在上传文件'
},
pasteImage: true,//是否允许粘贴上传图片,依赖upload选项,仅支持 Firefox 和 Chrome 浏览器。
tabIndent: true,//是否在编辑器中使用tab键来缩进
});
this.editor.on("valuechanged", function(e, src) {
_this.value = _this.editor.getValue()
})//valuechanged是simditor自带获取值得方法
}
}
}
- 图片粘贴上传的地址默认为

需要修改upload.js文件,找到下面代码
_this.trigger('uploadprogress', [file, file.size, file.size]);
_this.trigger('uploadsuccess', [file, newresult]);
return $(document).trigger('uploadsuccess', [file, result, _this]);
修改为以下代码即可
var newresult = JSON.parse("{\"file_path\":\""+ result.Data[0].FileUrl +"\"}"); //获取正确地址_this.trigger('uploadprogress', [file, file.size, file.size]);
_this.trigger('uploadsuccess', [file, newresult]);
return $(document).trigger('uploadsuccess', [file, newresult, _this]);
父页面引用:
<simditor :value.sync='value' v-ref:simditor></simditor>
如果需要设置富文本框值就使用以下代码
this.$refs.simditor.editor.setValue(data.describe)
大概simditor组件就封装好了,本人新手纯手打如果有什么不好,请各位多多指导。
Simditor学习--vuejs集成simditor的更多相关文章
- 深度学习的集成方法——Ensemble Methods for Deep Learning Neural Networks
本文主要参考Ensemble Methods for Deep Learning Neural Networks一文. 1. 前言 神经网络具有很高的方差,不易复现出结果,而且模型的结果对初始化参数异 ...
- 深度学习框架集成平台C++ Guide指南
深度学习框架集成平台C++ Guide指南 这个指南详细地介绍了神经网络C++的API,并介绍了许多不同的方法来处理模型. 提示 所有框架运行时接口都是相同的,因此本指南适用于所有受支持框架(包括Te ...
- ArcGIS JS API4 With VueJS集成开发
1.USING VUEJS WITH ARCGIS API FOR JAVASCRIPT,集成VUE到ArcGIS JS开发中. 2.ARCGIS API 4 FOR JS WITH VUE-CLI ...
- 机器学习:集成学习(集成学习思想、scikit-learn 中的集成分类器)
一.集成学习的思想 集成学习的思路:一个问题(如分类问题),让多种算法参与预测(如下图中的算法都可以解决分类问题),在多个预测结果中,选择出现最多的预测类别做为该样本的最终预测类别: 生活中的集成思维 ...
- vuejs集成echarts的一些问题
最近在做Beetlex的数据分析平台,在开发这个产品过程中涉及到大量的数据图表展示功能:由于产品前端使用的是vuejs开发,所以在集成echarts或多或少会碰到一些问题,在这里主要讲解一下碰到的问题 ...
- Struts学习之集成Ajax
转自:http://blog.csdn.net/hanxuemin12345/article/details/38782213 一,引题 1,Json数据格式简介 JSON是脱离语言的理想的数据交换格 ...
- SpringBoot学习之集成dubbo
一.摘自官网的一段描述 1.背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 ...
- SpringBoot学习之集成mybatis
一.spring boot集成Mybatis gradle配置: //gradle配置: compile("org.springframework.boot:spring-boot-star ...
- drone 学习五 集成gitlab 配置以及简单测试
备注: 使用docker-compose 进行安装 同时集成gitlab,预备环境 docker docker-compose gitlab 1. docker-compose version: ...
随机推荐
- Wand FZU - 2282 全错位重排
N wizards are attending a meeting. Everyone has his own magic wand. N magic wands was put in a line, ...
- SSO解决session共享的几种方案
之前做项目遇到了这个sso系统,当时只是理解了一部分,今天偶尔发现一篇文章,觉得写的不错,增加了sso知识: 单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用, ...
- 查看Django版本
python -m django --version dd
- HDU2732 最大流
Leapin' Lizards Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- robots.txt使用和优化技巧
一.利于网站优化的robots.txt使用技巧 1.在线建站提供方便之路.当我们将域名解析到服务器,可以访问站点了,可是这个时候站点还没有布局好,meta标签还一塌糊涂.乳沟此时的站点被 搜索引擎蜘蛛 ...
- js处理时间的那些事
我们在实际需求中一般需要对时间进行相应的出来,比如:对时间串的拆分显示,两个时间差的求值显示等. 时间拆分: 一般对于这种处理我们使用正则表示式: 正则表达式拆分时间: var date = data ...
- Debug模式下加载文件,运行程序异常的慢
今天在进行单元测试的时候,debug模式下加载速度很慢,但是run模式下速度很快. 原因:在debug模式下,断点位置不当,解决办法 移除编译器中的所有断点.
- springboot线程池@Async的使用和扩展
我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务: 本 ...
- c# “XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。
症状描述如下: 如果将一个委托作为函数指针从托管代码封送到非托管代码,并且在对该委托进行垃圾回收后对该函数指针发出了一个回调,则将激活 callbackOnCollectedDelegate 托管调试 ...
- canvas利用formdata上传到服务器
1.首先绘制canvas图片 <canvas id="myCanvas" width="100" height="100" style ...