Я пытаюсь создать компонент Vue для TinyMCE, но у меня есть некоторые проблемы, которые я не могу решить! Кто-нибудь может мне помочь? Или, может быть, посоветуйте лучший способ прогулок?TinyMCE и Vuejs как компонент
Существует мой компонент
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()
, но это не сработает!
У кого-нибудь есть ключ?
Другое дело о плагинах ja TinyMCE ... Я использую Bower + Gulp для управления своими активами! Я хотел бы поместить все плагины в свой gulpfile (я использую Laravel 5) ... Прямо сейчас плагины TinyMCE загружаются один за другим, и это занимает много времени!
Заранее благодарен!