vue 父子组件之间通过 v-model 传值


子组件,可以使用 `modelValue` 来接收通过 `v-model` 传递的数据,

`modelValue``v-model` 在子组件内部的一个特殊属性,用于双向绑定传递的数据。

在Vuejs中,`v-model`用于实现表单元素的双向数据绑定,它实际上创建了一个名为`modelValue`的prop,

并在子组件内部自动将这个prop更新为与父组件的数据保持同步,这是基于Vue的编译时行为和指令的实现。

如果,你使用一个不同的变量名来接收`v-model`传递的值,那么父组件中的数据将无法正确的绑定到子组件中,

这是因为,`v-model`在内部使用`modelValue`这个特殊的prop名,来维护双向数据绑定的,

因此,为了保证数据的正确传递,子组件中用于接收父组件传递的值的变量名必须是`modelValue`,而不能是别的名字。

在Vue.js中,使用v-model指令可以在父组件和子组件之间建立双向数据绑定,
这种双向绑定的实现依赖于子组件内部的 modelValue 属性,
这是一个特殊的属性名,用于在子组件中接收来自父组件的数据,并在内部维护这个数据的状态。

下面我将详细解释一下父子组件使用 v-model 传递数据的过程:

  1. 在父组件中,使用 v-model 指令将数据绑定到子组件上,如:
<template>
  <ChildComponent v-model="parentData" />
</template>

<script>
export default {
     
  data() {
     
    return {
     
      parentData: 'initial value'
    }
  }
}
</script>
  1. 在子组件中,接收来自父组件的数据,并使用modelValue属性来维护这个数据的状态,如:
<template>
  <input type="text" :value="modelValue" @input="$emit('update:modelValue', $event.target.value)" />
</template>

<script>
export default {
     
  props: {
     
    modelValue: String
  }
}
</script>

在子组件中,modelValue是一个特殊的 prop 名称,用于接收来自父组件的数据,
同时,子组件内部的输入框使用 :value 绑定到 modelValue,并通过 @input 事件触发 update:modelValue 事件,将输入框的值传递给父组件。

这样,当父组件中的数据发生变化时,子组件中的输入框会同步更新,
反之,当子组件中的输入框的值发生变化时,父组件中的数据也会同步更新,
这就是v-model在父子组件之间实现双向数据绑定的过程

相关推荐

  1. vue 父子组件之间通过 v-model

    2023-12-25 20:38:03       43 阅读
  2. vue3+vite+ts父子组件之间

    2023-12-25 20:38:03       44 阅读
  3. vue3父子组件之间方式

    2023-12-25 20:38:03       21 阅读
  4. vue3组件之间通讯

    2023-12-25 20:38:03       12 阅读
  5. vue父子组件

    2023-12-25 20:38:03       35 阅读
  6. vue父子组件问题

    2023-12-25 20:38:03       22 阅读
  7. vue3父子组件

    2023-12-25 20:38:03       28 阅读
  8. Vue封装组件 父子组件相互

    2023-12-25 20:38:03       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-25 20:38:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-25 20:38:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-25 20:38:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-25 20:38:03       18 阅读

热门阅读

  1. MySQL8.0+数据库GTID主从模式搭建

    2023-12-25 20:38:03       36 阅读
  2. LinuxPTP在汽车时钟同步网络中的实践

    2023-12-25 20:38:03       41 阅读
  3. rocky linux9 安装go 即接下去

    2023-12-25 20:38:03       36 阅读
  4. 获取京东商品信息:使用详情API的步骤与技巧

    2023-12-25 20:38:03       44 阅读
  5. k8s中的pod及创建pod的方式

    2023-12-25 20:38:03       31 阅读
  6. linux 内核死锁检测

    2023-12-25 20:38:03       24 阅读
  7. c# 常用基本函数

    2023-12-25 20:38:03       37 阅读
  8. 深度学习和机器学习的区别

    2023-12-25 20:38:03       37 阅读
  9. ACM中算法时间约束

    2023-12-25 20:38:03       38 阅读
  10. 07.单例模式八板斧

    2023-12-25 20:38:03       32 阅读