本來是在vue里發現獲取不到 input[ type="number"]的值,就是輸入兩個小數點的數值,比如1.1.1,以為是vue的錯誤,然而不是,vue只做了數字處理
不明白為什么獲取不到值還讓輸入兩個小數點呢,這就尷尬了。
//vue里對輸入的值做的處理
function toNumber (val) { var n = parseFloat(val); return isNaN(n) ? val : n; }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="app"> 當input的type=number時,當輸入的數據有兩個小數點的時候,比如1.1.1,此時獲取不到this.msg的值 <input type="number" v-model="msg" @input="check"> </div> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js"></script> <script> new Vue({ el: '#app', data: { msg: '', }, methods: { check(val) { console.log(this.msg, 'this.msg'); } } }) </script> </body> </html>
所以呢,輸入時數字的時候,可以用input[type="text"],直接用正則驗證數值.