vue基础2--双向数据绑定
双向数据绑定
vue 双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的, 也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变;
单行文本:
<div id="app">
<span>span---{{name}}</span><br>
<input type="text" v-model="name">
<input type="button" @click="change" value="修改">
</div>
<script src="vue.js"></script>
<script>
var vm = new Vue({
el:'#app',
data:{
name:'llsls'
},
methods:{
change(){
this.name='';
}
}
})
多行文本
<!-- 多行文本-->
<span>textarea--{{content}}</span>
<textarea v-model="content"></textarea>
data:{
content:'hellohhahha'
}
单选框
<span>性别--{{genderValue}}</span><br>
<input type="radio" value="1" name="gender" v-model="genderValue"> 男
<input type="radio" value="2" name="gender" v-model="genderValue"> 女
多选框
<span>请选择你喜欢的电影--{{movies}}</span><br>
<input type="checkbox" value="1" v-model="movies"> 变形金刚
<input type="checkbox" value="2" v-model="movies"> 复仇者联盟
<input type="checkbox" value="3" v-model="movies"> 飞驰人生
movies:[1] //默认选择第一个,data里的movies不传value的话默认都不选
下拉框
<span>请选择你喜欢的电影: {{selectMovie}}</span><br>
<select v-model="selectMovie">
<option disabled value="">请选择</option> <!--默认添加一个不可选择的请选择 提示信息-->
<option value="变形金刚">变形金刚</option>
<option value="复仇者联盟">复仇者联盟</option>
<option value="飞驰人生">飞驰人生</option>
</select>
selectMovie:"" //单选,所以传一个字符串即可;data里的selectMovie传value值时表示默认选择xx
多选下拉框
<span>请选择你喜欢的电影: {{selectMovies}}</span><br>
<select v-model="selectMovies" multiple size="4">
<option disabled value="">请选择</option>
<option value="变形金刚">变形金刚</option>
<option value="复仇者联盟">复仇者联盟</option>
<option value="飞驰人生">飞驰人生</option>
</select>
selectMovies:[]
动态绑定
<span>请选择你喜欢的电影: {{selectMovie}}</span><br>
<select v-model="selectMovie">
<option disabled value="">请选择</option>
<option v-for="option in options" :value="option.id">{{option.name}}
</option>
</select>
options:[{"name":"变形金刚","id":1}, {"name":"复仇者联盟","id":2}, {"name":"飞驰人生","id":3}]
//想要改变值,改变data数据源即可,增加数据保密性

浙公网安备 33010602011771号