概述:
Vue的双向绑定可以实现: 数据变化的时候, 页面会自动刷新, 页面变化的时候,数据也会自动变化.
注意:
绑定文本框
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="xiaonaihu">
<meta name="generator" content="HBuilder X">
<title>绑定文本框title>
<script src="../../lib/vue.js" type="text/javascript" charset="utf-8">script>
head>
<body>
<div id="app">
用户名: <input type="text" v-model="username"/>
div>
<script type="text/javascript">
var app = new Vue({
el:"#app",
data:{
username:""
}
});
script>
body>
html>
绑定单个复选框
DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="xiaonaihu">
<meta name="generator" content="HBuilder X">
<title>绑定单个复选框title>
<script src="../../lib/vue.js" type="text/javascript" charset="utf-8">script>
head>
<body>
<div id="app">
<input type="checkbox" v-model="agree" />同意<br />
div>
<script type="text/javascript">
var app = new Vue({
el:"#app",
data:{
agree:true;
}
});
script>
body>
html>
绑定多个复选框
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="author" content="xiaonaihu" />
<meta name="generator" content="HBuilder X" />
<title>绑定多个复选框title>
<script src="../../lib/vue.js" type="text/javascript" charset="utf-8">script>
head>
<body>
<div id="app">
<input type="checkbox" value="Java" v-model="language" />Java<br />
<input type="checkbox" value="Python" v-model="language" />Python<br />
<input type="checkbox" value="Swift" v-model="language" />Swift<br />
div>
<script type="text/javascript">
var app = new Vue({
el:"#app",
data:{
//数组中的值,就是被选中的元素的value属性值
language:["Java","Python"]
}
});
script>
body>
html>
form表单数据提交
传json格式跟formData格式的两种情况
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="author" content="xiaonaihu" />
<meta name="generator" content="HBuilder X" />
<title>form表单数据提交title>
<script src="../../lib/vue.js" type="text/javascript" charset="utf-8">script>
<style type="text/css">
.from_box{
form{
width:90%;
margin: auto;
border:.01rem solid gray;
display: flex;
flex-wrap: wrap;
input{
width:80%;
height:.5rem;
margin-bottom: .2rem;
border:.01rem solid black;
height:.5rem;
}
}
.but{
font-size: .14rem;
margin-left:5%;
}
}
style>
head>
<body>
<template>
<div class="form_box">
<form action="">
<input type="text" placeholder="请输入昵称" v-model="formMess.account">
<input type="password" placeholder="请输入密码" v-model="formMess.act_pwd">
<input type="text" placeholder="请输入手机号" v-model="formMess.phone">
form>
<span class="but" @click="onSubmit()">提交span>
div>
template>
<script type="text/javascript">
import axios from 'axios';
export default{
name:"form",
data:{
formMess:{
"account":"",
"act_pwd":"",
"phone":""
}
};
},
methods:{
onSubmit(){
/* json格式提交: */
let formData = JSON.stringify(this.formMess);
/* formData格式提交: */
let formData = new FormData();
for(var key in this.formMess){
formData.append(key.this.formMess[key]);
}
axios({
method:"post",
url:"XXXXXXX",
headers:{
"Content-Type":"multipart/form-data"
},
withCredentials:true,
data:formData
}).then((res)=>{
console.log(res)
});
}
}
script>
body>
html>