Vue学习笔记(十一)表单输入绑定

v-model 用于绑定各种不同类型的输入,<textarea><select> 元素 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title></title>
	<script src="vue.js" type="text/javascript" charset="utf-8"></script>
  </head>
<body>
    <div id="app">
		<div id="test1">
			<!-- 文本绑定 先定义变量再绑定--> 
			<p>Message is {{message}}</p>
			<input v-model.lazy="message"  placeholder="edit me"/>   <!--.lazy 在发生change时间之后更新,不随input同步更新 .number把输入转换成数字-->
			<br>
			<!-- 多行文本绑定 -->
			<span>Multiline message is:</span>
			<p>{{message2}}</p>
			<textarea v-model.trim ="message2" placeholder="input multiple lines"></textarea>    <!-- textarea不支持插值表达式  <teextarea>{{message}}</textarea>错误!-->
			<!--.trim除去输入内容两端空格 -->
			<!-- 复选框 -->
			<div>Please choose multiple ones:{{checkedNames}}</div>
			<input type="checkbox" id="sandy" value ="sandy" v-model="checkedNames"/>  <!--绑定的是value id用来设置标签等其他属性-->
			<label for="sandy">Sandy</label>
			<input type="checkbox" id="cheeks" value="cheeks" v-model="checkedNames"/>
			<label for="cheeks">Cheeks</label>
			<input type="checkbox" id="jack" value="jack" v-model="checkedNames">
			<label for="jack">Jack</label>
			
			<!-- 复选框 v-bind动态绑定变量值(除字符之外的数值(1/2)) -->
			<div>Checkbox v-bind:{{toggle}}</div>
			<input type="checkbox" v-model="toggle" :true-value="yes" :false-value="no"/> <!--true-value false-value仅支持和 v-model 配套使用-->
			
			<!--单选按钮 -->
			<div>Picked:{{picked}}</div>
			<input type="radio" id="yes" value="yes" v-model="picked"/>
			<label for="yes">Yes</label>
			<input type="radio" id="no" value="no" v-model="picked"/>
			<label for="no">No</label>
			<!-- 单选 v-bind绑定 -->
			<div>Radio v-bind:{{pick}}</div>
			<input type="radio" name="choose" id="first" :value="first" v-model="pick"/>     <!-- 单选框复选问题,如果radio同属于一个name就不会复选 -->
			<input type="radio" name="choose" id="second":value="second" v-model="pick"/>
			<!-- 选择器 -->
			<div>Selected:{{selected}}</div>
			<select v-model="selected" multiple> <!--multiple的意思是把选择的值绑定到一个数组????-->
				<option disabled value="">Please select one</option>
				<option>A</option>
				<option>B</option>
				<option>C</option>
			</select>
			<!--option中使用v-for渲染-->
			<div>Selected_options for array:{{selected_options}}</div>
			<select v-model="selected_options">
				<option v-for="option in options" :value="option.value">
					{{option.text}}
				</option>
			</select>
			<br>
			<!-- 选择器中使用v-bind -->
			<div>Slected v-bind:{{select_number}}</div>
			<select v-model="select_number">
				<option :value="{number:123}">123</option>     <!-- selected 会被设为该对象字面量值 { number: 123 } -->
			</select>
		</div>
	</div>

<script type = "text/javascript">

const vm = new Vue({
	el   : "#app",
	data :{
		message:'',//如果赋初值文本框内就显示初试不显示placeholder内容
		message2:"",  //多行文本绑定变量
		checkedNames:[],   //复选框绑定变量
		yes:1,//复选框v-bind绑定变量
		no:2,
		toggle:1, 
		picked:"",  //单选框绑定变量
		pick:"",  //单选框v-bind绑定变量
		first:1, 
		second:2,
		selected:[],  //选择器绑定变量
		selected_options:'One',
		select_number:"",
		options :([
			{text:'One',value:'One'},
			{text:'Two',value:'Two'},
			{text:'Three',value:'Three'}
		]),
	},

});
vm.$watch('toggle',function(newVal,oldVal){
	console.log(newVal, oldVal);
})

</script>

</body>
</html>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值