Vue收集表單數(shù)據(jù)和過(guò)濾器總結(jié)
收集表單數(shù)據(jù)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--vue--> <script src="https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script> </head> <div id="root"> <h2>個(gè)人信息收集</h2> <form> 姓名:<input type="text" placeholder="請(qǐng)輸入姓名" v-model.trim="zh"><br> 密碼:<input type="password" placeholder="請(qǐng)輸入密碼" v-model="mm"><br> 年齡:<input type="number" placeholder="輸入數(shù)字" v-model.number="age"> 性別: <label><input type="radio" name="sex" v-model="sex" value="男">男</label> <label><input type="radio" name="sex" v-model="sex" value="女">女</label><br> 愛(ài)好:<label><input type="checkbox" v-model="hobby" value="Java">Java</label> <label><input type="checkbox"v-model="hobby" value="SpringBoot">SpringBoot</label> <label><input type="checkbox"v-model="hobby" value="Vue">Vue</label><br> 所屬地區(qū): <select v-model="whereFrom"> </optgroup> <optgroup label="江西"> <option value="江西南昌">南昌</option> <option value="江西贛州">贛州</option> <option value="江西九江">九江</option> </optgroup> <optgroup label="其他"> <option value="其他地方">地方</option> </optgroup> </select><br> <!--.lazy是等失去焦點(diǎn)才數(shù)據(jù)綁定 --> 自我介紹:<br><textarea v-model.lazy="introduceMyself" placeholder="這個(gè)填寫(xiě)框 右下角可以拉伸"></textarea><br> <label> <input type="checkbox" v-model="agree">閱讀并勾選</label> <a @click.prevent rel="external nofollow" >《協(xié)議書(shū)》</a><br> <button @click.prevent="tijiao">提交</button> </form> </div> <script type="text/javascript"> const vm = new Vue({ el: '#root', data: { zh:'', mm:'', age:'', sex:'男', hobby:['Java'], whereFrom:'江西贛州', introduceMyself:'', agree:'' }, methods: { tijiao(){ console.log(JSON.stringify(this._data)) } } }); </script> <body> </body> </html>
收集表單數(shù)據(jù)總結(jié)
若:<input type='text'/>,v-model收集的是value值,用戶(hù)輸入就是value值。
若<input type=" radio"/>,因?yàn)関-model收集的為value值,所以要給這個(gè)標(biāo)簽配置value值,這樣勾選的收集到的就是這你配置的值
若:<input type=" checkbox"/>
1、沒(méi)有配置input的value屬性,那么收集的就是checked(勾選或未勾選,是一個(gè)布爾值)
2、配置input的value屬性:
v-model的初始值是非數(shù)組(一開(kāi)始定義收集這個(gè)checkbox定義為字符串時(shí)),那么收集的就是有沒(méi)有勾選的布爾值v-model的初始值是數(shù)組,那么收集的才是你定義的value值(勾選了才會(huì)收集)
備注:v-model的三個(gè)修飾符
- lazy:失去焦點(diǎn)后在收集數(shù)據(jù)
- number:輸入的字符串轉(zhuǎn)為有效數(shù)字
- trim:去除輸入前后的空格
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--vue--> <script src="https://cdn.staticfile.org/vue/2.7.0/vue.min.js"></script> <script src="Vue文件/dayjs.min.js"></script> </head> <div id="root"> 格式化前:{{NowTime}}<br> <!-- 使用計(jì)算屬性器--> 使用計(jì)算屬性器格式化后:{{relTime}}<br> <!-- 使用方法--> 使用方法格式化后:{{MethodTime()}}<br> <!-- 使用過(guò)濾器--> 使用過(guò)濾器格式化后:{{NowTime | filterTime}}<br> <!--濾器格式化后分割前四位--> 使用過(guò)濾器格式化后分割:{{NowTime | filterTime |mySlice}}<br> </div> <script type="text/javascript"> //配置全局過(guò)濾器 Vue.filter('mySlice',function (value) { //分割前四位 return value.slice(0,4)//從第一位開(kāi)始 }) const vm = new Vue({ el: '#root', data: { NowTime:1669339250633, }, methods: { MethodTime(){ return dayjs(this.NowTime).format('YYYY-MM-DD HH:mm:ss') } }, computed:{ relTime(){ return dayjs(this.NowTime).format('YYYY-MM-DD HH:mm:ss') } }, filters:{ filterTime(value){ return dayjs(value).format('YYYY-MM-DD HH:mm:ss') }, // 分割字串前四位 // mySlice(value){ // return value.slice(0,4)//從第一位開(kāi)始 // } } }); console.log(vm) </script> <body> </body> </html>
運(yùn)行結(jié)果:
過(guò)濾器小結(jié)
定義:對(duì)要顯示的數(shù)據(jù)進(jìn)行特定格式化后再顯示(使用與一些簡(jiǎn)單邏輯的處理)
語(yǔ)法:
- 注冊(cè)過(guò)濾器:Vue.filter(name,callback)或new Vue{filters:{}}
- 使用過(guò)濾器:{{xxx | 過(guò)濾器名}} 或者 v-bind:屬性="xxx | 過(guò)濾器名"
備注:
- 過(guò)濾器也可以接受額外參數(shù)、多個(gè)過(guò)濾器件也可以串聯(lián)
- 過(guò)濾器并沒(méi)有改變?cè)镜臄?shù)據(jù),是產(chǎn)生新的對(duì)應(yīng)的數(shù)據(jù)
到此這篇關(guān)于Vue收集表單數(shù)據(jù)和過(guò)濾器的文章就介紹到這了,更多相關(guān)Vue收集表單數(shù)據(jù)和過(guò)濾器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
導(dǎo)致VUE頁(yè)面不刷新的問(wèn)題分析及解決方法
由于 Vue 會(huì)在初始化實(shí)例時(shí)對(duì) property 執(zhí)行 getter/setter 轉(zhuǎn)化,所以 property 必須在 data 對(duì)象上存在才能讓 Vue 將它轉(zhuǎn)換為響應(yīng)式的,這篇文章主要介紹了導(dǎo)致VUE頁(yè)面不刷新的問(wèn)題分析及解決方法,需要的朋友可以參考下2024-04-04解決Vue動(dòng)態(tài)加載本地圖片問(wèn)題
這篇文章主要介紹了Vue如何動(dòng)態(tài)加載本地圖片的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10vue cli 3.x 項(xiàng)目部署到 github pages的方法
這篇文章主要介紹了vue cli 3.x 項(xiàng)目部署到 github pages的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04vue-better-scroll 的使用實(shí)例代碼詳解
這篇文章主要介紹了vue-better-scroll 的使用實(shí)例代碼詳解,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12Vue3+script setup+ts+Vite+Volar搭建項(xiàng)目
本文主要介紹了Vue3+script setup+ts+Vite+Volar搭建項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08vue使用window.open()跳轉(zhuǎn)頁(yè)面的代碼案例
這篇文章主要介紹了vue中對(duì)window.openner的使用,vue使用window.open()跳轉(zhuǎn)頁(yè)面的代碼案例,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下2022-11-11