The sky is the limit

Vue.js、PHP、Java、Cordova、Monacaを中心にハイブリッドアプリ開発、PWA開発など効率的なWEB、iOS、Androidアプリ開発の情報を共有します。

Vue.Draggableで「Cannot convert undefined or null to object」のエラーが出た

vuedraggableを使用している箇所で以下のようなエラーが出ました。

f:id:duo-taro100:20160218004611p:plain

Vueでドラッグ&ドロップを使う際にお世話になっている「Vue.Draggable」でエラーが出ていたので対処方法を調べました。
www.npmjs.com

Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props

TypeError: Cannot convert undefined or null to object

Cannot read property 'option' of undefined

ちなみに、一番上のメッセージはエラーではなくwarningです。「options」を使うなってにう意味ですかね。リンク先に詳細があります。
github.com

今回は

TypeError: Cannot convert undefined or null to object

Cannot read property 'option' of undefined

のエラーの原因を探りましたが、vuedraggableのバージョン指定方法が原因でした。
package.jsonで

"vuedraggable": "^2.14.1",

としていたので、最新バージョンの「2.21.0」を見ていたようです。
バージョンを固定で指定して検証したら、「2.20.0」からうまく動きませんでしたので以下のように修正しました。

"vuedraggable": "2.18.0",

(2.19.0は別のことが原因で動かなかったので、2.18.0にしています)
同様の現象が起きたらバージョンを疑って見てください。もしバージョンをあげるならドキュメント読んで書き直さないとダメかもしれないですね!