見積計算をする機能が欲しいと顧客に言われました。jQueryでいつもならやるんですけど、今回はブラウザ要件が緩かったので、流行りの技術を取り入れたいなということでVue.jsを使ってそれを作ることにしました。が、慣れるまで少し疲れたので、他の人が疲れなくて済むように、勘所を記事にまとめました。
INDEX
ディレクティブ
ディレクティブって概念が良く分かりませんでした。v-で始まるvue.jsで利用する属性のことなのですが、html属性でDOMを監視するって言うのがあまり自分にはなれませんでした。結果を判断して、判断した結果で処理を変えたり、結果をもとにループ処理したりできるので、今は理にかなってるなって思ってます。業務に取り入れてよかったと思ってます。あと、普通にVue.jsを利用し始めるとちらつきがあるので、対処方法は簡単なので最初に知っておいた方が良いです。
Vue.jsの作業環境
メインシステムはLaravelで組まれているので、LaravelMixを利用しました。Webpackに馴染みがなかったのですが、LaravelMixを利用するとWebpack入ってるので、リリースが凄い楽になったんだなぁという印象でした。環境構築を行った記事があるので、よろしければご覧ください。
Vue.jsのループ処理
HTML上でVue.jsのループをやる時に、配列作ってないとできません。forの初期値の設定が特殊なことしないとできませんが、多分時間が経てばできるようになっていくのではないかと思っています。特に使いづらいという印象はなかったですね。
イベント設定
イベント処理の書く場所が決まってるので、取っ散らからないなと思いました。ここは特に書きやすいなくらいにしか感じないと思います。
リアクティブ
これが最初良く分かりませんでした。要はオブジェクトとViewでデータを持ち合ってるみたいな印象を受けました。が、Viewで変更あった場合、オブジェクトに変更あったデータをViewから取って教えてあげる必要があります。具体的にどのように表現するのかは記事を見ていただきたいと思います。
おわりに
最低限これだけ分かってれば、何かしら作れます。このほかに算術プロパティとか、タイミング別に実行するとか、別クラスとの連携方法とか、クラス間を監視する方法とか、色々使った技術はありますが、今回は基本編ということで、自分がVueやった時に、一番最初に知っておきたかった情報をまとめました。また次回以降で記事を書いてまとめて行きたいなと思います。