Vue獲取表單數(shù)據(jù)的方法
需求
使用Vue收集如下用戶數(shù)據(jù):

獲取數(shù)據(jù)并提交
代碼實(shí)現(xiàn):
將value的值與變量屬性進(jìn)行綁定
v-model.trim = ‘username' ; 去除兩端空格
v-model.number = ‘a(chǎn)ge';將字符串轉(zhuǎn)為數(shù)值
v-model.lazy = ‘a(chǎn)ge' ; 不是立即收集,而是切換焦點(diǎn)后收集
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>獲取表單數(shù)據(jù)</title>
<script src="/static/js/vue.js"></script>
</head>
<body>
<div id="container">
<form action="" @submit.prevent="submit">
<label for="username">用戶名:</label><br>
<input type="text" class="username" name="username" placeholder="輸入用戶名" v-model.lazy="user.username"><br>
<label for="password">密碼:</label><br>
<input type="password" class='password' name="password" placeholder="輸入密碼" v-model="user.password"><br>
<label for="age">年齡:</label><br>
<!-- type is number,只允許輸入數(shù)字;input中也是字符串 -->
<!-- v-model.number,將input的字符串轉(zhuǎn)為數(shù)值 -->
<input type="number" name="age" v-model.number="user.age"><br>
<label for="">性別:</label>
<!-- 非正常的input -->
<input type="radio" name="sex" v-model="user.sex" value="female">女
<input type="radio" name="sex" v-model="user.sex" value="male">男
<br>
<!-- 多選 -->
<label for="">愛(ài)好:</label>
<input type="checkbox" v-model="user.hobby" value="pingpong">乒乓球
<input type="checkbox" v-model="user.hobby" value="basketball">籃球
<input type="checkbox" v-model="user.hobby" value="football">足球
<br>
<!-- 下拉選框 -->
<span>選擇城市:</span><br>
<select name="city" v-model="user.city" id="">
<option value="">選擇城市</option>
<option value="zz">鄭州</option>
<option value="wh">武漢</option>
<option value="bj">北京</option>
</select>
<br>
<!-- 文本框 -->
<label for="">描述:</label><br>
<textarea name="desc" v-model="user.desc"></textarea>
<br>
<!-- 協(xié)議 -->
<input type="checkbox" name="agree" v-model="user.agree">閱讀并接受<a >《用戶協(xié)議》</a>
<!-- 點(diǎn)擊按鈕 提交 -->
<button :style="{display:'block',backgroundColor:'lightblue',}">提交</button>
<!-- submit 提交 -->
<!-- <input type="submit" value="提交"> -->
</form>
</div>
<script>
Vue.config.productionTip = false
new Vue({
el: "#container",
data: {
user: {
username: "",
password: "",
age: "",
sex: "",
hobby: [],
city: "",
desc: "",
agree: "",
}
},
methods: {
submit(event){
console.log("提交表單")
// 在form內(nèi),參數(shù)自動(dòng)提交
console.log(JSON.stringify(this.user))
},
},
})
</script>
</body>
</html>
模板過(guò)濾器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>模板過(guò)濾器</title>
<script src="/static/js/vue.js"></script>
<script src="/static/js/dayjs.min.js"></script>
</head>
<body>
<div id="container">
<!-- 過(guò)濾器 -->
<span>{{ time | timeFormatter}}</span><br>
<!-- 傳參數(shù)的過(guò)濾器 第一個(gè)參數(shù)永遠(yuǎn)是管道數(shù)據(jù)-->
<span>{{ time | timeFormatter("YY-MM-DD hh:mm:ss")}} </span>
<!--也可以多個(gè)過(guò)濾器串聯(lián)-->
</div>
<script>
Vue.config.productionTip = false
//全局過(guò)濾器,所有組件中都可以使用
Vue.filter("myFilter", function(value){
return '全局過(guò)濾'
})
new Vue({
el: "#container",
data: {
time: 1639579694662, //時(shí)間戳,不是字符串
},
//局部過(guò)濾器,組件內(nèi)部使用
filters: {
timeFormatter(time, format){
// 第一個(gè)參數(shù)
if(format){
return dayjs(time).format(format)
}else{
return dayjs(time).format("YYYY-MM-DD HH:mm:ss")
}
},
},
})
</script>
</body>
</html>
過(guò)濾器的使用場(chǎng)景
1.插值語(yǔ)法中使用
2.v-bind:屬性 =‘ xx| xx '
處理一些簡(jiǎn)單的操作,產(chǎn)生了新數(shù)據(jù)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
vue3時(shí)間戳轉(zhuǎn)換(不使用過(guò)濾器)
這篇文章主要介紹了vue3時(shí)間戳轉(zhuǎn)換,?vue2轉(zhuǎn)換時(shí)間戳的時(shí)候一般使用過(guò)濾器的方式,到vue3之后,vue3移除了過(guò)濾器,就不能再用了,官方是推薦使用方法或者計(jì)算屬性的方式。下面我們來(lái)看看詳細(xì)介紹吧</P><P>2021-12-12
Vue 兩個(gè)字段聯(lián)合校驗(yàn)之修改密碼功能的實(shí)現(xiàn)
本文以校驗(yàn)兩次密碼的一致性應(yīng)用,給出兩個(gè)可變屬性值的字段之間的聯(lián)合校驗(yàn)的典型解決方案,通過(guò)實(shí)例代碼給大家介紹Vue 兩個(gè)字段聯(lián)合校驗(yàn)之修改密碼功能的實(shí)現(xiàn),需要的朋友一起看看吧2021-07-07
vue打開其他項(xiàng)目頁(yè)面并傳入數(shù)據(jù)詳解
這篇文章主要給大家介紹了關(guān)于vue打開其他項(xiàng)目頁(yè)面并傳入數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Vue+ElementUI使用vue-pdf實(shí)現(xiàn)預(yù)覽功能
這篇文章主要為大家詳細(xì)介紹了Vue+ElementUI使用vue-pdf實(shí)現(xiàn)預(yù)覽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Vue?實(shí)現(xiàn)接口進(jìn)度條示例詳解
這篇文章主要介紹了Vue實(shí)現(xiàn)接口進(jìn)度條功能,在請(qǐng)求數(shù)據(jù)的過(guò)程中,需要添加監(jiān)聽函數(shù)來(lái)監(jiān)測(cè)數(shù)據(jù)請(qǐng)求的過(guò)程變化,并更新組件相應(yīng)的屬性和界面元素,本文結(jié)合實(shí)例代碼詳細(xì)講解,需要的朋友可以參考下2023-04-04
Vue3利用組合式函數(shù)和Shared Worker實(shí)現(xiàn)后臺(tái)分片上傳
這篇文章主要為大家詳細(xì)介紹了Vue3如何利用組合式函數(shù)和Shared Worker實(shí)現(xiàn)后臺(tái)分片上傳(帶哈希計(jì)算),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10
vue+elementui 實(shí)現(xiàn)新增和修改共用一個(gè)彈框的完整代碼
Element-Ul是餓了么前端團(tuán)隊(duì)推出的一款基于Vue.js 2.0 的桌面端UI框架,手機(jī)端有對(duì)應(yīng)框架是Mint UI ,今天給大家普及vue+elementui 實(shí)現(xiàn)新增和修改共用一個(gè)彈框的完整代碼,一起看看吧2021-06-06
Vue-cli中為單獨(dú)頁(yè)面設(shè)置背景色的實(shí)現(xiàn)方法
下面小編就為大家分享一篇Vue-cli中為單獨(dú)頁(yè)面設(shè)置背景色的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02

