我應該怎麼做?如何使用CKEditor使用AngularJS數據綁定?
我能夠通過使用textarea
與name
屬性匹配我的模型和script
標籤與ng:bind-template
調用CKEDITOR.replace
獲取數據到CKEditor的。
然後,我製作了一個CKEditor插件,用於檢測更改並將它們寫回到textarea
。問題在於,當CKEditor初始化時,textarea
會丟失它的事件處理程序,並且CKEditor不會更改textarea
。這讓我覺得我正在接近這個錯誤的方式。
接下來我嘗試使用ng:eval-order="LAST" ng:eval="setupCKEditor()"
並從setupCKEditor()
函數設置編輯器。這不起作用,因爲即使使用ng:eval-order="LAST"
,該功能仍然在節點創建之前運行。
我發現在CKEDITOR.replace
周圍添加一個setTimeout(function() {...},0)
有幫助。現在唯一的問題是,當它改變模型時,它不會重畫屏幕,直到編輯了另一個域。
scope.$root.$eval();
似乎解決了這個問題。
更新
我們最終放棄這一點,因爲我們永遠無法得到它可靠地工作。我們切換到TinyMCE with Angular-UI一段時間,然後結束了建立自定義的東西。
看到這個的其他問題: [http://stackoverflow.com/questions/18685530/multiple-4-2-ckeditor-instances-on-one-page-with-angularjs?rq=1] [ 1] [1]:http://stackoverflow.com/questions/18685530/multiple-4-2-ckeditor-instances-on-one-page-with-angularjs?rq=1 –