Vue之model属性

文章介绍了如何在Vue组件上使用v-model来简化父子组件之间的通信。通过定义model选项,可以自定义prop和event,避免了在父组件中绑定额外的方法,使得在子组件内部改变父组件的状态变得更加直接和简单。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网解释:允许一个自定义组件在使用 v-model 时定制 prop 和 event。

默认情况下,一个组件上的 v-model 会把 value 用作 prop

且把 input 用作 event,

但是一些输入类型比如单选框和复选框按钮可能想使用 value prop 来达到不同的目的。

使用 model 选项可以回避这些情况产生的冲突。

简单来讲就是将组件实现数据双向绑定的效果,

需要注意的是自定义组件字眼表明其主要的使用场景是在组件内部,

后面的那一大段是说明缘由的

————————————————

原文链接:https://blog.csdn.net/seimeii/article/details/121854665

之前我们要在子组件改变父组件里面控制子组件状态的字段,需要$emit一个方法,还需要在父组件绑定方法就非常麻烦,像如下写法

父组件中

用model这种方式就显得极为简单,只要在父组件中v-model绑定,在子组件定义model的prop和event就可以实现子组件内部改变父子组件关联的值,不需要再emit出方法到父组件

父组件中:

<followUpModal ref="followUpModal" v-model="followUpModalVisible"></followUpModal>

子组件中:

这样写省去了父组件绑定方法,简单了好多

代码再粘贴一下下啦,有的小懒虫可以直接复制

<el-dialog
    :title="modalTitle"
    :visible.sync="followUpModalVisible"
    width="50%"
    center
    :modal="false"
    class="tool-dialog"
    @close="onclose"
    destroy-on-closecloseBriefModal
    :close-on-click-modal="false">
    <div>test</div>
  </el-dialog>
  model: {
    prop: 'followUpModalVisible',
    event: 'changeVisible',
  },
  props: {
    followUpModalVisible: {
      type: Boolean,
      default() {
        return false;
      },
    },
  },
  methods: {
    // 点击关闭抽屉层
    onclose() {
      // 修改model中的值
      this.$emit('changeVisible', false);image.png
    },
  },
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值