Vue系列(六)之常用指令v-model

前面讲到的插值,其实都是单向绑定,数据变——>视图变。有些元素可以与用户交互,比如input,select等,那么我们希望随着用户的交互,对应的数据也发生改变。这样数据变——>视图变,并且视图变——>数据变的绑定就是双向绑定。

基本使用

v-model 指令在表单 input、textarea 及 select 元素上创建双向数据绑定。以一个简单的登录demo来说明v-model的使用。
在这里插入图片描述

<form @submit.prevent>
   <div>
        <span>用户名</span>
        <input v-model="username">
    </div>
    <div>
        <span>密码</span>
        <input v-model="password">
    </div>
    <input type="submit" value="登录" @click="login">
</form>
var vm = new Vue({
    el: '#app',
    data: {
        username: '',
        password: ''
    },
    methods: {
        login(){
            console.log(this.username);
            console.log(this.password);
        }
    }
});

username,password都是用v-model双向绑定的,随着用户的输入,data中的两个字段也会变化,点击登录按钮时,可以直接获取到用户输入的值。
在这里插入图片描述

修饰符

.trim

去掉两端的空格

.number

自动将用户的输入值转为数值类型

.lazy

在默认情况下,v-model 监听input 事件。 lazy 修饰符改为监听 change 事件进行同步数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3中,v-model和:model是用来绑定表单元素的指令。它们的作用是将表单元素的值与Vue实例的数据双向绑定,以便在用户操作表单元素时,能够自动更新Vue实例中的数据,并在数据更新时自动更新表单元素的值。 v-modelVue2.x版本中常用指令,用于简化input、select、textarea等表单元素的双向数据绑定。而在Vue3.x版本中,为了更好地支持TypeScript和编辑器提示等功能,将v-model指令拆分成了两个部分:一个是v-model指令,用于监听表单元素的输入事件,并将用户输入的值更新到Vue实例中的数据;另一个是:model指令,用于将Vue实例中的数据更新到表单元素的值上。 例如,在Vue3中,可以这样使用v-model指令: ``` <template> <input v-model="message" /> </template> <script> import { defineComponent, ref } from 'vue' export default defineComponent({ setup() { const message = ref('Hello, Vue!') return { message } } }) </script> ``` 或者这样使用:model指令: ``` <template> <input :modelValue="message" @update:modelValue="val => message = val" /> </template> <script> import { defineComponent, ref } from 'vue' export default defineComponent({ setup() { const message = ref('Hello, Vue!') return { message } } }) </script> ``` 这两种方式都可以实现双向数据绑定。需要注意的是,:modelValue和@update:modelValue是:model指令的两个属性,其中:modelValue是用于绑定表单元素的值,@update:modelValue则是用于监听表单元素值的变化并将其更新到Vue实例中的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值