Angular2里Ckeditor销毁的解决方式

一、问题

Angular2中,在使用ckeitor4.x编辑器的页面中,切换到其他页面,其他页面会报警告,警告内容如下:
[CKEDITOR] Error code: editor-destroy-iframe. ckeditor.js:21
[CKEDITOR] For more information about this error go to http://docs.ckeditor.com/#!/guide/dev_errors-section-editor-destroy-iframe
根据链接文档解释如下:

image.png

翻译过来就是,需要我们在ckeditor从dom中卸载前先把ckeditor销毁。
看了angular1中的使用方式是在进入页面时先判断有没有ckeditor的实例,如果有就先销毁再创建新的,和这里是一个意思。只是这过程中我该如何在angular2中去实现这个销毁的过程。
尝试了一些方法都没有成功。没辙,只能在github.com上查看ng2-ckeditor这个项目里的issue里是否有这个问题。果然有。参考了下,改变两处引入方式,一个是index.html里ckeditor的js地址,二是页面中使用ckeditor组件的位置,config信息里添加插件需求。

二、解决步骤

  1. 在应用的index.html页面中将引入的js地址修改为:
    <script src="https://cdn.ckeditor.com/4.5.11/full-all/ckeditor.js"></script>

2.使用位置修改
<ckeditor [(ngModel)]="templateData.content" [config]="{extraPlugins: 'divarea'}"></ckeditor>
增加[config]="{extraPlugins: 'divarea'}", 这里需要使用插件divarea

三、总结

问题是解决了,但原理是什么还需要再看看。不过到是体会了遇到解决不了的问题,应该回到社区,回到项目根源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容