一拒贱、問題
Angular2中赊琳,在使用ckeitor4.x編輯器的頁面中,切換到其他頁面触菜,其他頁面會報警告,警告內(nèi)容如下:
[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
根據(jù)鏈接文檔解釋如下:
翻譯過來就是哀峻,需要我們在ckeditor從dom中卸載前先把ckeditor銷毀涡相。
看了angular1中的使用方式是在進入頁面時先判斷有沒有ckeditor的實例,如果有就先銷毀再創(chuàng)建新的剩蟀,和這里是一個意思催蝗。只是這過程中我該如何在angular2中去實現(xiàn)這個銷毀的過程。
嘗試了一些方法都沒有成功育特。沒轍丙号,只能在github.com上查看ng2-ckeditor這個項目里的issue里是否有這個問題。果然有缰冤。參考了下犬缨,改變兩處引入方式,一個是index.html里ckeditor的js地址棉浸,二是頁面中使用ckeditor組件的位置遍尺,config信息里添加插件需求。
二涮拗、解決步驟
- 在應(yīng)用的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
三迂苛、總結(jié)
問題是解決了三热,但原理是什么還需要再看看。不過到是體會了遇到解決不了的問題三幻,應(yīng)該回到社區(qū)就漾,回到項目根源。