【发布时间】:2019-04-29 07:21:42
【问题描述】:
我有一个带有羽毛笔文本编辑器的表单。
<quill-editor [modules]="quillConfig" (onEditorCreated)="getEditorInstance($event)"></quill-editor>
我在模态中有一个图像库,里面装满了我的图像,我希望这样,如果我从模态中选择一个图像,则将 img 标签放在编辑器中的文本之后。
这是我要添加的一张图片的代码:
<div class="news-image-box">
<img src="${image.path}" alt="${image.description}">
<div class="row">
<div class="col-md-9"><p>${image.description}</p></div>
<div class="col-md-3 news-image-credit"><p>${image.credit}</p></div>
</div>
</div>
我的问题是生成了 Quill 的 contenteditable div(这是我的文本的 div,它具有“ql-editor”css 类),所以我无法提供使用 @ViewChild 的本地参考... (或者我不知道怎么做)
document.getElementsByClassName('ql-editor')[0].innerHTML += imageElement;
我试图通过示例 getElementsByClassname 获取“ql-editor” div 的内容,然后将我的 img 标签添加到其中,但是角度会引发此错误:
core.js:1673 ERROR TypeError: Cannot read property 'emit' of undefined
at Scroll.update (quill.js:4329)
at MutationObserver.<anonymous> (quill.js:7118)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:388)
at Object.onInvoke (core.js:3820)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:387)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runGuarded (zone.js:151)
at MutationObserver.<anonymous> (zone.js:129)
顺便说一句,我只使用一个字符串...
document.getElementsByClassName('ql-editor')[0].innerHTML += 'something';
【问题讨论】:
-
在附加到innerHTML之前,您是否尝试过将元素转换为字符串?
-
是的,情况相同,或者在
标签内的“”之间添加:/
标签: javascript html angular quill ngx-quill