vue基础指令:v-model

v-model绑定不同表单标签

目标:value属性和Vue数据变量, 双向绑定到一起

语法: v-model="Vue数据变量"

<template>
  <div>
    <div>
      <span>来自于:</span>
      <!-- 下拉菜单要绑定在select上 -->
      <select v-model="from">
        <option value="北京">北京</option>
        <option value="南京">南京</option>
        <option value="天津">天津</option>
      </select>
    </div>
    <div>
        <!-- (重要)
      遇到复选框, v-model的变量值
      非数组 - 关联的是复选框的checked属性(只要选中一个复选框,就会把checked的值true给此变量)
      数组   - 关联的是复选框的value属性
       -->
      <span>爱好:</span>
      <input type="checkbox" value="吃饭" v-model="hobby" />吃饭
      <input type="checkbox" value="睡觉" v-model="hobby" />睡觉
      <input type="checkbox" value="打游戏" v-model="hobby" />打游戏
    </div>
    <div>
      <span>性别:</span>
      <input type="radio" name="sex" value="男" v-model="sex" />男
      <input type="radio" name="sex" value="女" v-model="sex" />女
    </div>
    <div>
      <span>自我介绍:</span>
      <textarea v-model="intro"></textarea>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      from: "",
      hobby: [],
      sex: "男",
      intro: "",
    };
  },
};
</script>
<style  scoped>
</style>

 v-model修饰符

语法 : v-model.修饰符="vue数据变量"

  • .number 以parseFloat转成数字类型   感觉没啥用,不如直接表单直接改number

  • .trim 去除首尾空白字符

  • .lazy 在change时触发而非input时    失去焦点内容改变时(onchange事件), 把内容同步给v-model的变量

<template>
  <div>
    <div>
      <!-- .number修饰符-把值parseFloat转数值再赋予给v-model对应的变量 -->
      <!-- 标签中,所有属性的值的类型是字符串 ,所以用户输入的23,是一个字符串的"23"-->
      <span>请输入年龄:</span>
      <!-- 感觉没啥用,不如直接表单直接改number -->
      <input type="text" v-model.number="age" />
      <input type="number" v-model.number="age" />
    </div>
    <div>
      <!-- .trim修饰 - 去除首尾两边空格 -->
      <span>个人签名:</span>
      <input type="text" v-model.trim="autograph" />
    </div>
    <div>
      <!-- .lazy修饰符 - 失去焦点内容改变时(onchange事件), 把内容同步给v-model的变量 -->
      <!--  change: 监听文本框的内容改变,但是需要失去焦点才会触发
            input:监听文本框的内容改变-->
      <span>个人简介:</span>
      <textarea v-model.lazy="intro"></textarea>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      age: 0,
      autograph:'',
      intro:''
    };
  },
};
</script>
<style  scoped>
</style>

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值