Vue.js基本の雑記あれこれ

用語

マシュタッシュ(口髭)構文

{{ 変数名 }}

マシュタッシュ構文の中は、javascript の式を書いても良い。文は駄目。変数 = 式 のように = の右辺に書くことができるのが式。

書ける式の例:

  • 数値計算
  • 文字列を返すなんらかの処理
  • 三項演算子式

書けないものの例:

  • if 文、for 文、代入文、変数宣言

デバッグ

dataオブジェクトの中身表示

HTML側に $data を書いておく。

<div id="app">
  ...
  <pre>{{ $data }}</pre>
</div>

Form

リロード抑止

formのsubmitイベントによりページが自動的にリロードされてしまう問題。submit タグを書いていなくても発生する。

submit を阻止(prevent)しよう。

<form v-on:submit.prevent>

ディレクティブ(v-なんちゃら)

v-once

一度だけ表示を反映する。それ以降は変更しない。データバインディングが行われない。たとえ変更するメソッドがあっても二度目からは効かない。

v-html

マシュタッシュタグ {{ }} でhtmlな文字列を書いてもエスケープされてhtmlが効かない。html(やjs)をそのまま評価してもらいたい場合に v-html ディレクティブを用いる。

デバッグ時 console.log() の出力をコンソールではなくページに直接表示したい場合にも使える。

v-cloak

覆い隠す。ページ表示開始で一瞬だけ変数名が表示されてしまうのを防ぐ。コンパイル前の表示を防ぐ。コンパイル後にページ表示するようにする。

<div v-cloak>{{ 変数名 }}</div>

cssとの協調が必要。

[v-cloak] {
  display: none;
}

v-text

使わなくても良い。これは使わずマシュタッシュ構文 {{ 変数名 }} で文字列作成に統一するのがおすすめ。

.vue プログラム内で、変数の展開を含め文字列全体を完成させることが主眼で、だからこそマシュタッシュ構文を使いたくないなら v-text を使えばいいかな。

省略記法

v-bind の省略記法

省略前:<a v-bind:href="変数名">タイトル</a>

省略後:<a :href="変数名">タイトル</a>

v-on の省略記法

省略前:<button v-on:click="メソッド名">ボタン</button>

省略後:<button @click="メソッド名">ボタン</button>

スポンサーリンク

コメント

タイトルとURLをコピーしました