読書メモ Vue.jsのディレクティブ
Vue.jsのディレクティブについて、初歩的だけど大事そうなところメモ。本のコピペ 🙏
ディレクティブとは
- 標準のHTMLに対して独自の属性を追加することで属性値の式の変化に応じたDOM操作を行うことができ、この特別な属性のことをディレクティブという
- ディレクティブを使うと、テンプレートないの要素の表示を条件毎に切り替えたり、繰り返しレンダリングしたりできる
v-show
- テンプレートの表示/非表示を切り替えたい場合に使う
<p v-show="!canBuy"> {{ 1000 | numberWithDelimiter }}円以上からご購入いただけます </p>
computed: { // 算出プロパティ totalPrice: function () { return this.items.reduce(function (sum, item) { return sum + (item.price * item.quantity) }, 0) }, totalPriceWithTax: function () { // 算出プロパティに依存した算出プロパティも定義できる return Math.floor(this.totalPrice * 1.08) }, canBuy: function () { return this.totalPrice >= 1000 } }
v-bind
- 特定の条件が成立したとき、UIの見た目を変えたい場合、に使えるのがv-bindディレクティブ(例えばフォーム入力で不正な値が入力された場合はフィールドの色を赤く表示するUIにするなど)
v-on
- イベントがおきたときに属性の式を実行する
v-on:イベント名="式として実行したい属性値"