因此,我想将已格式化的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中的文本已被注释掉,但我也尝试过这样做。