唠叨

  因为项目需要我自己研究了和集成在vue方便以后再使用,详情官方文档在这里。希望大家有好的建议提出让我继续改进。

simditor介绍

Simditor 是团队协作工具 Tower 使用的富文本编辑器,基于jQuery开发。

相比传统的编辑器它的特点是:

  1. 功能精简,加载快速
  2. 输出格式化的标准 HTML
  3. 每一个功能都有非常优秀的使用体验
  4. 兼容的浏览器: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的更多相关文章

  1. 深度学习的集成方法——Ensemble Methods for Deep Learning Neural Networks

    本文主要参考Ensemble Methods for Deep Learning Neural Networks一文. 1. 前言 神经网络具有很高的方差,不易复现出结果,而且模型的结果对初始化参数异 ...

  2. 深度学习框架集成平台C++ Guide指南

    深度学习框架集成平台C++ Guide指南 这个指南详细地介绍了神经网络C++的API,并介绍了许多不同的方法来处理模型. 提示 所有框架运行时接口都是相同的,因此本指南适用于所有受支持框架(包括Te ...

  3. 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 ...

  4. 机器学习:集成学习(集成学习思想、scikit-learn 中的集成分类器)

    一.集成学习的思想 集成学习的思路:一个问题(如分类问题),让多种算法参与预测(如下图中的算法都可以解决分类问题),在多个预测结果中,选择出现最多的预测类别做为该样本的最终预测类别: 生活中的集成思维 ...

  5. vuejs集成echarts的一些问题

    最近在做Beetlex的数据分析平台,在开发这个产品过程中涉及到大量的数据图表展示功能:由于产品前端使用的是vuejs开发,所以在集成echarts或多或少会碰到一些问题,在这里主要讲解一下碰到的问题 ...

  6. Struts学习之集成Ajax

    转自:http://blog.csdn.net/hanxuemin12345/article/details/38782213 一,引题 1,Json数据格式简介 JSON是脱离语言的理想的数据交换格 ...

  7. SpringBoot学习之集成dubbo

    一.摘自官网的一段描述 1.背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 ...

  8. SpringBoot学习之集成mybatis

    一.spring boot集成Mybatis gradle配置: //gradle配置: compile("org.springframework.boot:spring-boot-star ...

  9. drone 学习五 集成gitlab 配置以及简单测试

    备注: 使用docker-compose  进行安装 同时集成gitlab,预备环境 docker  docker-compose  gitlab 1. docker-compose version: ...

随机推荐

  1. Wand FZU - 2282 全错位重排

    N wizards are attending a meeting. Everyone has his own magic wand. N magic wands was put in a line, ...

  2. SSO解决session共享的几种方案

    之前做项目遇到了这个sso系统,当时只是理解了一部分,今天偶尔发现一篇文章,觉得写的不错,增加了sso知识: 单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用, ...

  3. 查看Django版本

    python -m django --version dd

  4. HDU2732 最大流

    Leapin' Lizards Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...

  5. robots.txt使用和优化技巧

    一.利于网站优化的robots.txt使用技巧 1.在线建站提供方便之路.当我们将域名解析到服务器,可以访问站点了,可是这个时候站点还没有布局好,meta标签还一塌糊涂.乳沟此时的站点被 搜索引擎蜘蛛 ...

  6. js处理时间的那些事

    我们在实际需求中一般需要对时间进行相应的出来,比如:对时间串的拆分显示,两个时间差的求值显示等. 时间拆分: 一般对于这种处理我们使用正则表示式: 正则表达式拆分时间: var date = data ...

  7. Debug模式下加载文件,运行程序异常的慢

    今天在进行单元测试的时候,debug模式下加载速度很慢,但是run模式下速度很快. 原因:在debug模式下,断点位置不当,解决办法 移除编译器中的所有断点.

  8. springboot线程池@Async的使用和扩展

    我们常用ThreadPoolExecutor提供的线程池服务,springboot框架提供了@Async注解,帮助我们更方便的将业务逻辑提交到线程池中异步执行,今天我们就来实战体验这个线程池服务: 本 ...

  9. c# “XXX::Invoke”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。

    症状描述如下: 如果将一个委托作为函数指针从托管代码封送到非托管代码,并且在对该委托进行垃圾回收后对该函数指针发出了一个回调,则将激活 callbackOnCollectedDelegate 托管调试 ...

  10. canvas利用formdata上传到服务器

    1.首先绘制canvas图片 <canvas id="myCanvas" width="100" height="100" style ...