2018-10-21
インターン先でVue.jsを使うので速習してみた。
日本で一番売れているらしいJavaScriptの本『JavaScript本格入門』と同じ著者ということで、安心感が大きい。
目次は以下の通り。
CDN経由でシンプルにVue.jsを試すところから始まり、最終的にはvue-cli・単一ファイルコンポーネント・Vue Routerといったところまでカバーしている。
Vue.jsは公式ドキュメントが充実しており、日本語訳もしっかり用意されていることで有名。しかし、この『速習Vue.js』では公式ドキュメントとはまた別の視点から解説されているので理解が深まった。特に今回は「Vue.jsを素早くおさらいする」ということが目的だったので、まさにこの本はうってつけだった。
この本を読むまで忘れていたことがいくつかあったので備忘録を兼ねてまとめる。
input, select, textarea 要素などでv-modelを設定するるとき、同時にvalue属性が設定されていたとしても無視される。
チェックボックスの値はデフォルトではtrueとfalseになっている。しかしtrue-value, false-value 属性を設定することでBoolean以外の値も設定することができる。
<input type="checkbox" v-model="checked" true-value="yes" false-value="no"></input>
.numberv-modelにバインドされた値はデフォルトでは文字列として認識されるが、.number 修飾子を使うと入力値を数字として扱うことができる。
.trim.trim修飾子を使うと、入力値の前後にある余分なスペースを除去することができる。
.lazyデフォルトでは、文字が入力された瞬間にバインドされる。.lazy修飾子を使うと、文字が入力されてフォーカスが外れた後に値がバインドされるようになる。
Vue.jsは配列の要素が代入によって書き換えられても、変更を検出することができない。(配列への参照自体に変化はないため)
配列の変更を検出してもらうためにはVue.set()を使う必要がある。
またVue.jsは以下の配列メソッドをラップしているので、これらのメソッドによる変更はちゃんと検出してくれる。
push()pop()shift()unshift()splice()sort()reverse()総じて読んで良かった。速習ということもあり網羅できていない部分もあるが、ざっくりと全体像を把握するための必要最低限という感じでまとめられている。ボリュームとしても2時間強ぐらいで読み終わるくらいなので、時間がないときにも最適。
Kindle Unlimitedで読めるので、Vue.jsの文法をおさらいしたい人にオススメしたい。