vue中v-model和:value(即:v-bind:value)

1、区别

  • v-mode实现了视图和data中数据的双向绑定,两者其一改变均改变

  • v-bind:value只是将初始化时data中的数据绑定到input上,修改input中的值并不会改变data中的数据。

2、v-model的本质

  • v-model其实时一个语法糖,背后本质上是v-bind:value和v-on:input两个操作

  • 父组件将值通过:value传给子组件,当值改变的时候,子组件通过@input通知父组件值发生了改变,形成单向数据流

3、$attrs 和 inheritAttrs

  • $attrs用于存储props之外的内容

    • 例如:父组件通过:value给子组件传值,但是父组件中设置了type="password",并未通过props传给子组件,此时,值就存在$attrs中

  • 设置inheritAttrs: false  避免顶层容器继承属性

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
,v-model和:model都用于将数据绑定到HTML元素上。它们的作用是相同的,都用于实现双向数据绑定。然而,它们在使用方式上有一些不同。 v-model是v-bind和input事件的语法糖,可以同时实现数据的绑定和同步。它适用于大多数表单元素,如input、select、textarea等。使用v-model时,只需在元素上添加v-model指令,并将数据属性作为指令的参数即可。例如,v-model="name"将会将输入框的值与name属性进行双向绑定。 而:model则是v-bind的简写形式,用于将数据绑定到元素的value属性上。它适用于一些特殊的表单元素,比如checkbox和radio。使用:model时,需要将数据属性作为指令的参数,并使用v-bind指令将value属性绑定到相应的数据属性上。例如,:model="isChecked"将会将复选框的选状态与isChecked属性进行绑定。 需要注意的是,当v-bind和v-model同时用在一个元素上时,它们的作用没有改变,但是v-model的优先级更高。也就是说,如果同时使用了v-bind和v-model指令,并且两者都绑定了同一个属性,那么v-model的绑定将会覆盖v-bind的绑定。 此外,还需要区分元素是单个出现还是一组出现。对于单个元素,可以直接使用v-model指令进行绑定。而对于一组元素,比如多个checkbox或radio,可以使用v-bind指令绑定一个数组来实现多选或单选的功能。 综上所述,v-model和:model在实现双向数据绑定上是相同的,但在使用方式和适应的表单元素上有一些不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值