日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ckeditor java 使用,CKEditor5在自定义数据处理器中使用模型

發(fā)布時間:2025/4/17 编程问答 89 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ckeditor java 使用,CKEditor5在自定义数据处理器中使用模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近,一個similar question was raised on CKE5 GitHub . 問題是關于將JSON數(shù)據(jù)作為編輯器輸出,但是您提出的主題也部分涵蓋 .

(...)如何從數(shù)據(jù)處理器訪問模型

直接在模型上運行存在一些問題和風險 . 這不是推薦的東西 . 它在鏈接的帖子中解釋 .

(...)我的問題是如何將其轉換為模型/ DocumentFragment

與直接在模型上運行相比,這是一種更好(風險更小)的方法 . 但是,我不得不問 - 為什么要轉換模型?也許有更好的解決方案來解決你的問題?

要在視圖和模型之間進行轉換,必須使用 DataController#toView 和 DataController#toModel . DataController 實例位于 Editor#data . 要在數(shù)據(jù)處理器中使用它,數(shù)據(jù)處理器需要訪問編輯器實例 .

我建議創(chuàng)建自己的編輯器類,擴展一個CKE5編輯器類 . 然后,在新的編輯器類構造函數(shù)中,覆蓋數(shù)據(jù)處理器并傳遞編輯器實例 . 就像是:

class MyEditor extends ClassicEditor {

constructor() {

this.data.processor = new MyDataProcessor( this );

}

}

class MyDataProcessor() {

constructor( editor ) {

this._editor = editor;

}

toData( viewDocumentFragment ) {

const modelDocumentFragment = this._editor.data.toModel( viewDocumentFragment );

// ...

}

toView( modelData ) {

// ...

this._editor.data.toView( ... );

// ...

}

}

這些只是為了顯示方向,而不是工作/測試樣本 .

不過,我想知道為什么你堅持使用模型而不是視圖來生成編輯器輸出 .

BTW . 如果你繼續(xù)這樣實現(xiàn)它,整個過程將會有點愚蠢:) . 首先,您將獲得模型數(shù)據(jù),然后將其轉換為視圖(在數(shù)據(jù)處理器中),然后編輯器將獲取視圖數(shù)據(jù)并將其轉換回模型:) . 所以也許你也會對覆蓋 Editor#setData 方法感興趣,所以不會發(fā)生不必要的轉換 .

總結

以上是生活随笔為你收集整理的ckeditor java 使用,CKEditor5在自定义数据处理器中使用模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。