Итак, я хотел бы загрузить уже отформатированный html в ckeditor 5. Поскольку в конечном итоге данные будут поступать из этого элемента управления, я не слишком беспокоюсь о плохом формате, но для проверки я только что использовал выделенный раздел и перерыв. При загрузке в редактор я ожидал что-то вроде этого:
Это является тестом
Другой тест
Но на самом деле я получаю:
This <b> is a test <br/>Another test
Это, конечно, идентично источнику и не размечается.
Я перепробовал несколько вещей, включая вызов setData и следующий код, который был изменен из примеров ckeditor:
const viewFragment = theEditor.data.processor.toView('@Model.MailTemplate.MailTemplateData');
const modelFragment = theEditor.data.toModel(viewFragment);
theEditor.model.insertContent(modelFragment, theEditor.model.document.selection);
Я также попытался просто добавить разметку в div. Все они отображают необработанный HTML, а не форматированный текст, который я хотел бы.
Я что-то упускаю из виду? Заранее спасибо.
РЕДАКТИРОВАТЬ: Полный (соответствующий) код:
<div class="document-editor">
<div class="document-editor__toolbar"></div>
<div class="document-editor__editable-container">
<div class="document-editor__editable">
@* @Model.MailTemplate.MailTemplateData *@
</div>
</div>
</div>
// In script block...
DecoupledEditor
.create(document.querySelector('.document-editor__editable'))
.then(editor => {
const toolbarContainer = document.querySelector('.document-editor__toolbar');
toolbarContainer.appendChild(editor.ui.view.toolbar.element);
theEditor = editor;
//window.editor = editor;
const viewFragment = theEditor.data.processor.toView('@Model.MailTemplate.MailTemplateData');
const modelFragment = theEditor.data.toModel(viewFragment);
theEditor.model.insertContent(modelFragment, theEditor.model.document.selection);
//theEditor.setData('@Model.MailTemplate.MailTemplateData');
})
.catch(err => {
console.error(err);
});
Обратите внимание, что текст в document-editor__editable закомментирован, но я тоже это попробовал.