本頁只練什麼
能以三個真實輸入事件分辨 trim、number 與 lazy 的轉換/更新時機。
表單 DOM value 預設是字串且 input 每次輸入都觸發;未選 modifier 會留下空白、錯誤型別或過早更新。
要修改的檔案:files/starter/index.html
定位:同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。|依 starter-1 定位,只修改「v-model.trim/.number/.lazy」的責任。
LESSON-22 · TOPIC 01
能以三個真實輸入事件分辨 trim、number 與 lazy 的轉換/更新時機。
能以三個真實輸入事件分辨 trim、number 與 lazy 的轉換/更新時機。
表單 DOM value 預設是字串且 input 每次輸入都觸發;未選 modifier 會留下空白、錯誤型別或過早更新。
要修改的檔案:files/starter/index.html
定位:同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。|依 starter-1 定位,只修改「v-model.trim/.number/.lazy」的責任。
先結果,再原理;完成後要能說出自己看見的證據。
金額 2 與 3 相加顯示 23,備註每打一字就觸發儲存。
起始狀態:name 有空白、amount=0、note=初始。
trimmed=David、numberValue=42、numberType=number、lazyBefore=初始、lazyAfter=完成。
驗收證據:trimmed=David、numberType=number、lazyBefore=初始、lazyAfter=完成
姓名不保留頭尾空白、數量需數值運算、欄位只在完成編輯後提交狀態時。
常見混淆:.number 無法保證任何文字都變 number;無法 parse 時可能保留原字串。
這段程式是理解起點,不是要你直接跳過 Starter。
trim 去掉頭尾空白;number 把可轉的文字變數字;lazy 等 change 才收件。
正式說法:v-model modifiers transform assignment or switch the listener from input to change for native form controls。
v-model.trim='name'、v-model.number='amount'、v-model.lazy='note'。每一步都留下可觀察結果;如果沒看到,先看「卡住先查」。
檔案:files/starter/index.html 定位:同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。
要做:先重新載入 Starter,記錄目前畫面、DOM、Computed、Console 或文件內容。
預期:能指出「同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。」目前的缺口。
證據:保存 files/starter/index.html 的目前狀態,並指出下一步只會修改哪個檔案責任。
卡住先查:確認開啟的是 files/starter/index.html,且定位到 同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。。
檔案:files/starter/index.html 定位:同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。
要做:對三欄派送對應事件,記錄 trim/number/lazy 在 input 與 change 前後的值。
預期:trimmed=David、numberValue=42、numberType=number、lazyBefore=初始、lazyAfter=完成。
證據:trimmed=David、numberType=number、lazyBefore=初始、lazyAfter=完成
卡住先查:同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。
檔案:files/starter/index.html 定位:同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。
要做:重新整理頁面,再逐項比對預期結果與 evidence。
預期:trimmed=David、numberValue=42、numberType=number、lazyBefore=初始、lazyAfter=完成。
證據:trimmed=David、numberType=number、lazyBefore=初始、lazyAfter=完成
卡住先查:同時記錄 DOM input.value、反應式值與 typeof,不只看畫面。
這個示範只讓你看懂概念,不會替你修改 Starter,也不會自動宣告完成。
勾選只是學習紀錄;真正完成仍要回到 Starter 的實際結果。
每個 modifier 只驗一個責任。
trim/number 派 input;lazy 先派 input 讀 before,再派 change 讀 after。
完整解答與原因:trim 欄輸入含空白後模型為 David;number 欄模型為 number 42;lazy 在 input 後仍是初始,change 後才變完成。