2024-12-13 @input=updateNote 這是什麼意思??
2024-12-13 @input=updateNote 這是什麼意思??
@input="updateNote" 是 Vue 的事件綁定語法,表示當某個 DOM 元素觸發 input 事件時,執行名為 updateNote 的方法或函數。
語法拆解
@是 Vue 的事件綁定簡寫- 在 Vue 中,
@是v-on指令的縮寫。 - 完整寫法是:
v-on:input="updateNote"。 v-on用於監聽 DOM 元素的事件,例如click、input、change、submit等。
- 在 Vue 中,
input是事件名稱input事件是在輸入框(如<input>或<textarea>)的值改變時觸發的事件。- 每次用戶輸入新字元時,該事件都會觸發,更新相關的響應式數據。
updateNote是方法名- 當
input事件被觸發時,Vue 會執行updateNote方法。 - 這個方法需要在 Vue 組件中定義。
- 當
範例:@input 用法
HTML:
1 | <template> |
JavaScript:
1 | <script> |
執行流程:
- 當用戶在輸入框中輸入文字時,會觸發
input事件。 - Vue 會執行
updateNote方法。 event.target.value會獲取輸入框的最新內容。
和 v-model 的區別
@input監聽事件,適用於執行自定義邏輯。v-model是雙向綁定,會自動同步數據與輸入框的值。
比較範例
使用 @input:
1 | <template> |
使用 v-model:
1 | <template> |
@input 的適用場合
- 當你需要在用戶輸入的過程中執行某些邏輯(如格式化數據、存入 LocalStorage)時,使用
@input。 - 如果只是簡單的數據雙向綁定,使用
v-model更簡潔。