Simditor学习--vuejs集成simditor

唠叨

  因为项目需要我自己研究了和集成在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组件就封装好了,本人新手纯手打如果有什么不好,请各位多多指导。

时间: 2024-08-22 12:00:45

Simditor学习--vuejs集成simditor的相关文章

Rails项目集成Simditor编辑器

如果你刚好需要在Rails项目中集成一款编辑器,那么我推荐你使用Simditor.轻量级且易用,花个几分钟看一下吧. 前端需要引用的一些库 //= require jquery//= require module//= require hotkeys//= require uploader//= require simditor = require simditor [email protected]下载必要的文件 视图文件的写法 .ui.form   = form_for @post do |

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 AND NUXT,使用Vue-cli和Nuxt来实现ArcGIS地图开发. 注:视频来源http://odoe.net/blog/,已做说明

spring-boot学习之集成mybatis

一.关于spring boot 1.spring boot 简而言之就是使spring启动更容易,它的座右铭是"just run",大多数spring应用程序仅仅需要很少的配置,使用spring-boot将大大减少编写spring相关的代码量和xml配置文件 2.通常情况下spring-boot会在classpath下寻找application.properties或者application.yml配置文件,绝大多数的应用都会在此配置文件里配置 二 spring boot集成Mybat

记录一下最近之前学习vuejs的代码

main.js import Vue from 'vue'; import App from './App.vue'; import VueResource from 'vue-resource'; import VueRouter from 'vue-router'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(VueResource); Vue.use(V

iOS 学习RAC集成

1.RAC简介 RAC,全名ReactiveCocoa,是一个第三方库,它可以大大简化你的代码过程.RAC具有函数式编程和响应式编程的特性. 2.配置RAC环境 (1)使用cocoapods安装RAC最新版本 具体安装方法这里不做介绍.Podfile格式如下: platform :ios, '10.0'use_frameworks! target 'RAC02-登录' do pod 'ReactiveCocoa','~> 4.0.4-alpha-4'end (2)由于RAC现在已经支持Swift

No.2一步步学习vuejs 实例demo篇

简单应用Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统: <div id="app"> {{ message }} </div> var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }) 带有指令的例子在控制台输入 app.message="11" 数据就会发生变化 <div id = "demo2"&

学习vuejs

一.绑定元素特性, v-bind:title 1 <div id="app2"> 2 <span v-bind:title="msg"> 3 此处查看信息! 4 </span> 5 </div> 6 <script type="text/javascript"> 7 var app2 = new Vue({ 8 el:"#app2", 9 data:{ 10 msg:

【基础知识八】集成学习

难点:如何产生"好而不同"的个体学习器:"好而不同":"准确性"和"多样性" 一.个体与集成 构建并结合多个学习器来完成学习任务 集成:结果通过投票法voting产生,"少数服从多数" 获得整体性能提升要求个体学习器:好而不同 1)个体学习器有一定的"准确性" 2)学习器间具有差异 集成学习的错误率: 假设基学习器的误差相互独立,随着集成中个体分类器数目T的增大,集成的错误率将指数级下降

关于集成学习基础的简单描述

关于集成学习基础的简单描述 什么是集成学习? 集成建模是优化模型表现的一条重要途径.通常来说,将集成学习方法运用在你所构建的诸多模型之上是十分值得的,而同道中人们也一次又一次地证明着这一点.他们在诸如Kaggle之类的数据建模竞赛中往往会不约而同地采用集成学习,并且从中受益. 集成学习其实是一个很宽泛的概念,对于它的定义,可谓仁者见仁智者见智.接下来,本文将介绍一些集成建模的基本概念和思想,这些知识应该足以让你起步,从而去构建你自己的集成模型.同时,和往常一样,我们将尽量让它们看起来简单一些.