TinyMCE 和 Vuejs 作为组件

2024-02-01

我正在尝试为 TinyMCE 制作一个 Vue 组件,但我遇到了一些无法解决的问题!有谁能够帮助我?或者建议更好的步行方式?

有我的组件

import Vue from 'vue'
import _ from 'lodash'

export
default {

  props: {
    model: {
      default () {
        return null
      }
    },
    showLeadInfo: {
      default () {
        return false
      }
    }
  },

  data() {
    return {
      id: 'editor_' + _.random(10000, 99999)
    }
  },

  watch: {
    model() {
      if (this.model == null)
        tinyMCE.activeEditor.setContent('');
    }
  },

  ready() {
    var vm = this;
    tinyMCE.baseURL = "/vendor/tinymce/";
    tinymce.init({
      selector: "#" + vm.id,
      theme: "modern",
      height: 200,
      plugins: [
        "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker",
        "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
        "save table contextmenu directionality emoticons template paste textcolor"
      ],
      toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons",
      style_formats: [{
        title: 'Bold text',
        inline: 'b'
      }, {
        title: 'Red text',
        inline: 'span',
        styles: {
          color: '#ff0000'
        }
      }, {
        title: 'Red header',
        block: 'h1',
        styles: {
          color: '#ff0000'
        }
      }, {
        title: 'Example 1',
        inline: 'span',
        classes: 'example1'
      }, {
        title: 'Example 2',
        inline: 'span',
        classes: 'example2'
      }, {
        title: 'Table styles'
      }, {
        title: 'Table row 1',
        selector: 'tr',
        classes: 'tablerow1'
      }],
      setup: function(editor) {
        editor.on('keyup', function(e) {
          vm.model = editor.getContent();
        });
      }
    });

  },

  events: {
    updateTinyValue(value) {
      tinyMCE.activeEditor.setContent(value);
    }
  }

}

HTML

<textarea :id="id" v-model="model" v-el:editor></textarea>

PS:它由 Vueify 组成,因此有一个模板和一个包装该代码的脚本标签。

我最大的问题是当我尝试实例化多个编辑器时,由于这段代码,我无法清除正确的组件tinyMCE.activeEditor.setContent(value)...我已经尝试过tinyMCE.get('#' + this.id).setContent()但它不起作用!

有人有任何线索吗?

另一件事是关于 TinyMCE 插件...我正在使用 Bower + Gulp 来管理我的资产!我想把所有插件放在我的 gulpfile 中(我使用的是 Laravel 5)...现在 TinyMCE 插件已经一一加载,需要很多时间!

提前致谢!


而不是使用activeEditor您可以使用getInstanceById:

tinyMCE.getInstanceById(this.id).setContent(value);

查看可能是旧版本的tinyMCE的文档,也可以尝试:

tinymce.editors[this.id].setContent(value);

另请查看这个答案,它使用 Vue 指令来自动管理它:VueJS 和tinyMCE,自定义指令 https://stackoverflow.com/questions/34532847/vuejs-and-tinymce-custom-directives。这使您可以简单地制作一个tinyMCE编辑器<textarea v-editor :body="body"></textarea>。您需要对其进行调整,但指令是解决此问题的方法。

另一个指令示例:https://jsfiddle.net/edwindeveloper90/edjc82z0/ https://jsfiddle.net/edwindeveloper90/edjc82z0/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TinyMCE 和 Vuejs 作为组件 的相关文章

随机推荐

  • 蚂蚁的战斗策略

    这个问题是指谷歌赞助的人工智能挑战 http aichallenge org 每隔几个月举行一次的竞赛 参赛者需要提交一个能够自主与其他机器人玩家玩游戏的机器人 刚刚结束的比赛名为 蚂蚁 您可以阅读其所有规范here http aichal
  • 使用 LINQ 进行现有查询

    我想使用 LINQ 获取员工列表 这些员工必须在TypeOfWorks列出typeofWork通过 Id 在论证中 public class Employee public virtual IList
  • Codeigniter - 使用 set_value() 填充表单进行编辑(不涉及 POST)

    我有一个包含表单的视图 带有输入字段和单选按钮 该表单需要填充数据库中的数据 以便将其用作数据编辑表单 我已使用 set value 函数进行表单验证 其中在发布后从同一控制器调用视图 但是如何在没有 POST 的情况下使用 set val
  • 加速 Numpy 数组/OpenCV cv2 图像的迭代

    我有 3 个形状 gt 500 500 的 numpy 数组 我正在尝试同时迭代它们 我尝试了两种不同的方法 但都很慢 Here Ix Ix blur Ix Iy blur and Iy Iy blur大小相同 我正在尝试寻找特征并将其绘制
  • 将 JSON jQuery Ajax 发送到 PHP 并返回

    我在通过 Ajax 将 JSON jQuery 数组发送到 PHP 脚本时遇到问题 这里有什么问题 var tee voting image img attr id var vote 1 var thing tee tee vote vot
  • 为kendo数据源提供一个角度范围变量

    我目前正在尝试用远程数据填充剑道网格 Kendo 有它自己的函数来获取数据 但我想使用我创建的角度工厂 所以我有一个工厂 它有一个函数 getSkills 该函数从我的api获取所有技能对象 angular module MyApp fac
  • 最佳实践 - 从 Web 服务抛出异常

    我们有一个 ASMX Web 服务 我们使用 ajax jQuery 从 ASP NET 应用程序调用它 我们的网络方法的典型示例如下 WebMethod public void DoSomething BusinessObject myP
  • git-svn 忽略大型二进制文件

    我正在使用一个大型 svn 存储库 超过 30 000 个修订版 我使用 git svn 的成功有限 我的主要问题是 svn 存储库包含对大型二进制文件 30MB 的频繁更新 我不关心这些文件的历史记录 但我确实关心这些文件的当前版本 如果
  • sizeof 在可变长度数组上的行为(仅限 C)

    我的问题是具体如何sizeof 当传递的参数是动态数组可变长度数组时的行为 让我们考虑一个例子 int fun int num of chars char name arr num of chars 0 Do something retur
  • IHttpControllerFactory 在哪里?

    微软网站说有一个IHttpControllerFactory http msdn microsoft com en us library system web http dispatcher ihttpcontrollerfactory v
  • 在 PHP 中使用当前 http 请求的查询字符串获取路径[重复]

    这个问题在这里已经有答案了 我需要从当前请求的 URL 中获取带有查询字符串的路径 例如 如果当前 URL 是 http www example com example test hi php randomvariable 1 我想要这个
  • android 拾取音频文件

    我需要从 SD 卡获取音频文件并播放 我认为这可以通过获取音频文件的 URI 来完成 因此 要选择音频文件 我使用以下代码 Intent intent new Intent intent setType audio intent setAc
  • 由 java.lang.SecurityException 引起:UID 10243 无权 content://media/external/audio/media/5927 [user 0]

    我是 Android 开发新手 正在尝试调试我们的应用程序崩溃的原因 当我们尝试向 Android 设备发送推送通知时 我们遇到了崩溃 这是我需要解决的入职问题 我不知道是什么导致了这个问题 该问题可以在 Android N O 和 P 中
  • C# 中的 Thread.Sleep()

    我想用 C 制作一个图像查看器Visual Studio 2010 http en wikipedia org wiki Microsoft Visual Studio Visual Studio 2010几秒钟后一张一张地显示图像 i 0
  • 为什么在传递对象时使用“ref”关键字?

    如果我将对象传递给方法 为什么要使用 ref 关键字 这不是默认行为吗 例如 class Program static void Main string args TestRef t new TestRef t Something Foo
  • .尝试与&&性能

    假设我有一个来自 SQL 查询的传入值 如下所示 grok Foo select foo attr1 foo attr2 first foo attr2是一个可为空的字段 现在假设我需要对输出进行处理 如果存在 krug grok foo
  • 正则表达式可选匹配行首/行尾

    我如何选择匹配开始 or end 正则表达式中的一行 例如 lt s 不匹配以空格字符开头或行开头 我的问题是 PHP 匹配以下内容 str bold bold bold echo preg replace lt s s strong 1
  • 如何在iPhone上分割字符串?

    我从服务器获得了以下值 动态 drwxr xr x 9 0 0 4096 Jan 10 05 30 California 现在我想获得这样的价值 drwxr xr x 9 0 0 4096 Jan 10 05 30 California 请
  • SQL语句以特定列的组显示

    我目前正在参与创建基于网络的调度系统的项目 我想从数据库获取数据 并将其显示在表格 时间表格式 中 在数据库中 我有 2 个表 schedule id date day 1 22 09 2014 Monday 2 23 09 2014 Tu
  • TinyMCE 和 Vuejs 作为组件

    我正在尝试为 TinyMCE 制作一个 Vue 组件 但我遇到了一些无法解决的问题 有谁能够帮助我 或者建议更好的步行方式 有我的组件 import Vue from vue import from lodash export defaul