公式ドキュメントのユーザー入力の制御の項目で説明しているv-modelについて記載していきます。
v-modelは双方向バインディングができる
双方向バインディングとは
双方向バインディングとは、
Vue.jsではVueインスタンスのdataの変更と、
ブラウザ側からの入力によってdataの変更が双方向で行えることです。
v-modelで双方向バインディングする
公式ドキュメントのコードを参考に、
双方向バインディングするコードを書いてみます。
サンプルコード html
<html> <head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <p>{{ message }}</p> <input v-model="message"> </div> </body> </html> <script> var app = new Vue({ el: '#app', data: { message: 'テキストエリアの文字表示' } }) </script>
実行結果
実行結果の状態からテキストエリアの文字を変える
解説
実行結果のように、
テキストエリアの文字列を変えると、
表示されている文字列も動的に変わります。
それを満たしているのが下記のコードの箇所です。
<input v-model="message">
v-modelにVueインスタンスのdataのキーを入れることで、
そのキーのデータをテキストエリアで変えることができるようになっています。
これが双方向バインディングです。
まとめ
- v-modelでVueインスタンスのdataのキーを指定すると、双方向バインディングができる。