Vue-表单输入绑定

转载自:https://www.cnblogs.com/koala0521/p/7744211.html

自我理解:v-model  实际就是一个表单值。

<!DOCTYPE html>
<html>
	<head>
		<title></title>
	    <meta charset="utf-8">
	    <meta content="IE=dege,chrom=1" http-equiv="X-UA-Compatible">
	    <meta name="viewport" content="width=device-width, initial-scale=1.0 user-scalable=no">
	    <title>Cart</title>
	    <script src="js/lib/vue.min.js"></script>
	    <script src="js/lib/vue-resource.js"></script>
	    <script src="js/address.js"></script>
	    <script src="js/lianxi.js"></script>
	    <style>
	    </style>
	</head>
	<body>
	    <div id="app">
	    	<!--输入框绑定-->
	    	<input v-model="massage" placeholder="输入信息" />
	    	<p>massage is: {{ massage }}</p>
	    	</hr>
	    	<!--单个选框绑定,返回值为布尔值:-->
	    	<p>单个选框绑定,返回值为布尔值:</p>
	    	<input v-model="radioStatus" type="checkbox" name="isAgree"/>
	    	<br />
	    	<label>数据:{{ radioStatus }}</label>
	    	</hr>
	    	<!-- 多个选框绑定到同一个数据 -->
	    	<div>
	    		<p> 多个选框绑定同一个数据: </p>
	            <input type="checkbox" id="jack" value="Jack" v-model="checkedNames">
	            <label for="jack">Jack</label>
	            <input type="checkbox" id="john" value="John" v-model="checkedNames">
	            <label for="john">John</label>
	            <input type="checkbox" id="mike" value="Mike" v-model="checkedNames">
	            <label for="mike">Mike</label>
	            <br>
	            <!-- checkedNames 为一个数组 [] -->
	            <span>数据: {{ checkedNames }}</span>     
	    	</div>
	    	</hr>
	    	<div>
	    		<p>单选按钮数据:</p>
	    		<input type="radio" id="one" value="1"   v-model="sex"/>
	    		<label for="one">{{ stantic.garder[1] }}</label>
	    		<input type="radio" id="two" value="2" v-model="sex" />
	    		<label for="two">{{ stantic.garder[2] }}</label>
	    		<input type="radio" id="three" value="3" v-model="sex" />
	    		<label >{{ stantic.garder[3] }}</label>
	    		<br />
	    		<!-- sex === 选中的input的value -->
	    		<span>性别代码: {{ sex }}:性别:{{ stantic.garder[sex] }}</span>
	    	</div>
	    	<div>
	    		<p>选择列表:</p>
	    		<select v-model="selected">
	    			<option disabled value="">请选择</option>
	    			<option value="001">北京</option>
	    			<option value="002">天津</option>
	    			<option value="008">上海</option>
	    		</select>
	    		<span>Selected:{{ selected }}</span>
	    	</div>
	    	</hr>
	    	<div>
	    		<h3>值绑定:</h3>
            	<p>
             		  对于单选按钮,勾选框及选择列表选项,v-model 绑定的 value 通常是静态字符串 (对于勾选框是逻辑值): 
                	<br>
               		但是有时我们想绑定 value 到 Vue 实例的一个动态属性上,这时可以用 v-bind 实现,并且这个属性的值可以不是字符串。
            	</p>
	            <!-- vm.toggle 和 vm.stantic.isOrNot 绑定 -->
	            <label>是否毕业:</label>
	            <input type="checkbox" name="" v-model='toggle' v-bind:true-value=stantic.isOrNot[1]  v-bind:false-value=stantic.isOrNot[0] >
	            <!-- 选中时 vm.toggle === stantic.isOrNot[1] 未选中时 vm.toggle === stantic.isOrNot[0] -->
	            <p>您选择了:{{toggle}}</p>
	            <h4>请选择列表的值绑定字面量对象:</h4>
	            <select v-model="selected2">
	                <!-- 内联对象字面量 -->
	                <option v-bind:value="123">123</option>
	                <option v-bind:value="456">456</option>
	                <option v-bind:value="789">789</option>
            	</select>
            	<span>vm.selected={{selected2}}</span>
	    	</div>
	    	</hr>
	    	<div>
	            <h3>修饰符</h3>
	            <h4>.lazy</h4>
	            <p>在默认情况下,v-model 在 <mark>input</mark> 事件中同步输入框的值与数据 (除了 上述 IME 部分),但你可以添加一个修饰符 lazy ,从而转变为在 <mark>change</mark> 事件中同步:</p>
	            <input v-model.lazy='massage'  >
	            <p>输入完成,信息改变:{{massage}}</p>
	            
	            <h4>.number</h4>
	            <p>如果想自动将用户的输入值转为 Number 类型 (如果原值的转换结果为 NaN 则返回原值),可以添加一个修饰符 number 给 v-model 来处理输入值:</p>
	            <!-- vm.age的值类型是Number -->
	            <input type="number" v-model.number='age' >
	            <span>类型为:{{ typeof age }}</span>
	
	            <h4>.trim</h4>
	            <p>如果要自动过滤用户输入的首尾空格,可以添加 trim 修饰符到 v-model 上过滤输入:</p>
	            <input v-model.trim='massage' > 
        	</div>
	    </div>
	    <script>
	    	let vm = new Vue({
		        el:'#app',
		        data:{
		        	massage:'',
		        	radioStatus:false,
		        	checkedNames:[],
		        	sex:'',
		        	selected:'',
		        	selected2:'',
		        	toggle:'',
		        	age:'',
		        	stantic:{
		        		garder:{
		        			1:'男',
		        			2:'女',
		        			3:'不确定'
		        		},
		        		isOrNot:{
		        			0:'否',
		        			1:'是'
		        		}
		        		
		        	}
		        }
			});
	    </script>
	</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值