最近在用vue寫項目的管理后臺插爹,由于是電商+cms項目别伏,所以我們開發(fā)了媒體庫來管理所有的素材莹规,但是問題來了赔蒲,在發(fā)布文章的時候,我是用了開源的ckeditor良漱,原來帶的選擇圖片上傳插件舞虱,只能自定義配置然后重寫上傳接口。
所以為了做媒體庫的圖片選擇我們需要重新開發(fā)一個ckeditor的插件了母市。
新建一個插件也很簡單矾兜,官網(wǎng)和網(wǎng)上基本很多的資料。
我新建的這個插件患久,是為了點擊圖標的時候椅寺,能選擇服務(wù)器上已經(jīng)存在的圖片文件,
一開始我是這么做的:
我在plugins.js文件的init方法里面增加了click的配置(配置了click蒋失,在點擊圖標的時候配并,就不會執(zhí)行默認的command的方法),但是研究了一上午都無法在這個里面獲取到當(dāng)前引入這個ckeditor的vue components的對象高镐,利用Vue.use的話溉旋,我這個新手又是在做不來。無奈選擇宣告失敗了嫉髓。
然后我換了個思路:
既然官方的的很多的plugins都是通過dialog打開的观腊,那么我也可以在直接利用點擊圖標彈出dialog然后在dialog里面嵌套媒體庫文件列表圖片的頁面呢,然后當(dāng)我們選中一個圖片算行,我們就放到localStorage里面梧油,然后我們在ckeditor彈出框的確定按鈕回調(diào)方法里面,將localStorage里面的圖片取出來插入到ckeditor里面州邢。
下面直接上代碼了:
1.unfind插件的代碼
這樣就可以解決這個圖片選擇問題了儡陨,不過這樣只是一種解決方式,還是像利用在ckeditor的插件js里面調(diào)用vue的components定義的方法量淌,來解決這個問題骗村。如果有知道怎么調(diào)用的,我們一起討論下呀枢。