Vue的input事件可以監聽用戶在輸入框中的輸入動作,以實現實時或延遲響應。
使用Vue的input事件十分簡單,只需要在html模板中綁定相應的事件即可:
<html> <head></head> <body> <div id="app"> <input v-model="message" v-on:input="onInput"> <p>{{ message }}</p> </div> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.min.js"></script> <script> var app = new Vue({ el: '#app', data: { message: '' }, methods: { onInput: function(event) { console.log(event.target.value); } } }); </script> </body> </html>
在上述代碼中,v-on:input屬性綁定了一個事件處理函數onInput,在用戶在input標簽中輸入時,該事件處理函數就會被調用。我們可以通過event.target.value來獲取用戶的輸入值,然后進行進一步的處理。這里我們僅僅使用console.log()打印到控制臺中。
除了使用v-on:input屬性以外,Vue還提供了一些簡寫形式:
<input v-model="message" @input="onInput">
使用@input等價于v-on:input。另外,還可以通過v-model實現雙向數據綁定,使得用戶的輸入能夠同步更新到Vue組件的data對象中。
input事件特別適用于實時或延遲響應用戶的輸入操作,例如:搜索框的實時搜索、模糊查詢等。在實現這些功能時,我們可以根據具體需要選擇使用Vue的computed屬性或watch屬性來監聽用戶的輸入,并根據輸入值來動態更新視圖。