Vue表单绑定v-model 及其修饰符

1.v-model的基本使用
在默认情况下,v-model是在input事件中同步输入框的数据
界面改变 数据也改变 把界面上的value传过去

<div id="app">
    <input type="text" v-model="message">
</div>
</body>
<script>
const app = new  Vue({
    el:"#app",
    data:{
        message:'2345yu'
    }
})
</script>

2.v-model的原理
背后包含两个指令

div id="app">
    <input type="text" :value="message" @input="valueChange">
     <input type="text" :value="message" @input="messge = $ event.target.value">
</div>
</body>
<script>
const app = new  Vue({
    el:"#app",
    data:{
        message:'2345yu'
    },
    methods:{
    valueChange(){
        this.message = event.target.value;
     }
    }
})
</script>

2.v-model结合radio类型
单选圈圈

<div id="app">
  <label foe="male">
  //label :没有label 只能点框  有label 可以点后面的字
    <input type="radio" id="male"  name="sex" value="男" v-model="sex"></label >
  <label foe="female">
    <input type="radio" id="female"  name="sex" value="女" v-model="sex">//name一样的时候  radio为单选  若绑定同样的v-model  也互斥
   </label >
</div>
</body>
<script>
const app = new  Vue({
    el:"#app",
    data:{
        message:'2345yu',
        sex:''
    }
})
</script>

3.v-model结合checkbox类型
checkbox:复选框(单个勾选框和多个勾选框)

<div id="app">
  <!--------------------checkbox单选框----------------------------->
  <label for="male">
    <input type="checkbox" id="agree" v-model="isAgree">同意协议
  </label >
 <!--------------------checkbox多选框----------------------------->
  <label for="male">
    <input type="checkbox" id="agree" value="篮球" v-model="hobbies">篮球
    <input type="checkbox" id="agree" value="足球" v-model="hobbies">足球
    <input type="checkbox" id="agree" value="乒乓球" v-model="hobbies">乒乓球
    <input type="checkbox" id="agree" value="羽毛球" v-model="hobbies">羽毛球
  </label >
</div>
</body>

<script>
const app = new  Vue({
    el:"#app",
    data:{
        message:'2345yu',
        isAgree:false,  //默认false时,未选中
        hobbies:[]//选中哪个,value进来哪个  可以多个
    },
   
})
</script>

4.v-model 结合select类型使用

<div id="app">
    <!--选择一个-->
    <select  name="abc" id="1" v-model="fruit">
        <option value="苹果">苹果</option>
        <option value="香蕉">香蕉</option>
        <option value="西瓜">西瓜</option>
        <option value="太郎">太郎</option>
    </select>
   <!--选择多个   multiple  加上按住Ctrl可多选-->
    <select  name="abc" id="2" v-model="fruits" multiple>
        <option value="苹果">苹果</option>
        <option value="香蕉">香蕉</option>
        <option value="西瓜">西瓜</option>
        <option value="太郎">太郎</option>
    </select>
</div>
</body>

<script>
    const  app=new Vue({
        el:"#app",
        data:{
            fruit:"香蕉", //下拉框默认选择香蕉
            fruit:[]
        }
    })
</script>

5.v-model修饰符的使用

  • lazy修饰符
    可以让数据在失去焦点的时候或者敲击回车的时候才会更新数据
<input type="text" v-model.lazy="fruits">
  • number修饰符
    输入框输入值默认类型为字符串 .number强行转化为数字类型
<input type="text" v-model.number="fruits">
  • trim修饰符
    输入内容为收尾有空格,我们希望把他去除 trim可过滤两边空格
<input type="text" v-model.trim="fruits">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值