之前有寫過Vue.Draggable實現拖拽效果(快速使用)(http://www.cnblogs.com/songdongdong/p/6928945.html)最近項目中要用到這個拖拽的效果,當產品那個今日頭條app編輯導航,拖拽的效果時,心里暗爽,(之前玩過呀,很簡單的,事實證明,任何看似簡單的東西,實現起來都不會那么一帆風順,當然:當你真正實現了該效果時,會發現其實還是挺簡單的:ps:自說自話,自己打自己臉\(^o^)/~),閑話少說,直接切入正題:
仔細觀察發現,今日頭條導航部分編輯效果,有以下幾個效果
1:點擊編輯開啟可以編輯的效果(也就是是否開啟拖拽)
2:拖拽前選中效果
3:拖動過程中元素移動到目標位置的運動效果
這是Vue.Draggable作者的git地址:https://github.com/SortableJS/Vue.Draggable,至於怎么引入到你的vue項目,請參考之前的這篇博客(http://www.cnblogs.com/songdongdong/p/6928945.html)引入之后我們發現Vue.Draggable默認就是開啟拖拽狀態的,那我們要控制這個狀態怎么辦呢?在作者項目的首頁,發現並沒有詳細介紹,是不是有這個狀態提供,當然也許是因為自己英語太渣,沒有發現這句話(See here for reference),后來發現,點進去,發現了很多好玩的東西,具體有哪些,請移步看這里(https://github.com/RubaXa/Sortable#event-object-demo)這里我們只挑我們需要的,然后我就發現這個東東:
這不就是我們想要的么,如果你認為是這個屬性直綁定到組件上,那么你就錯了,在往下看,似乎有怎么使用的實例代碼,那我們不妨看看是怎么樣的:
其實看到這個你大概知道怎么用了,如果還不會那么不着急,我貼一下我的代碼你就知道怎用了
嗯就是這么簡單,然后你再去控制這個disable就可以,至於怎么控制,接觸過vue的人應該都會,就不說了,到這里我們第一個問題就解決,那我后面兩個問題呢?
別急,其實和第一個一模一樣
還有一些其他配置項的解釋:
哈哈就是這么簡單,驚不驚喜,意不意外!!!之前之所以,稱之為問題是因為,以為那些配置項都是直接配置在組件上的,好了上面三個問題基本算是解決了,其實我們發現,這個過程中煩在哪里,就是知道配置項options是掛在在draggable組件上,那些控制draggable的行為都是在options里面配置的,經驗告訴我們,一定要仔細閱讀文檔,答案都在文檔里面,好了,如果能幫助到正在看文章的你,就好,大神請忽略!