1. v-model雙向綁定是由數據劫持以及發布訂閱【觀察者模式】實現的,這篇隨筆暫時不講解原理,作為個人小復習.
v-model可以由另一種方式實現:v-bind動態綁定value,配合v-on:input使用,利用event.target.value獲取輸入框的值,
當輸入框的值改變時將其傳給Vue實例data中的message.
2. 修飾符
【1】lazy:將v-model默認input事件觸發,改為change事件觸發,可在用戶輸入完畢后再改變值
【2】number:將輸入的值轉換為Number類型
【3】trim:將自動過濾用戶輸入的首尾空白字符
3. demo:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>v-model</title> </head> <body> <div id="app"> <input type="text" v-model.lazy.trim="message"> <p>{{message}}</p> <!-- v-model的另外一種實現方式 --> <!--<input type="text" @input="console" :value="message">--> <!--<p>{{message}}</p>--> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2"></script> <script> const app = new Vue({ el: '#app', data() { return { message: '' } }, methods: { console(e) { this.message = e.target.value; } } }) </script> </body> </html>