随笔 - 133  文章 - 0  评论 - 2  阅读 - 50945

Vue中使用model属性

在Vue中,可以通过使用model属性来实现子组件向父组件传递数据的功能。具体来说,当子组件需要向父组件传递数据时,可以在子组件中使用model属性来定义一个prop和一个事件,然后在父组件中使用v-model指令来绑定这个prop和事件。这样,当子组件中的数据发生变化时,就会触发相应的事件,从而将数据传递给父组件。

下面是一个示例:

子组件:

复制代码
<template>
  <input v-model="innerValue" @input="$emit('update:value', innerValue)">
</template>

<script>
export default {
  props: {
    value: String
  },
  data() {
    return {
      innerValue: this.value
    }
  }
}
</script>
复制代码

在这个子组件中,我们定义了一个prop叫做value,用来接收父组件传递过来的数据。同时,我们也定义了一个data属性innerValue,用来保存子组件内部的数据。在模板中,我们使用v-model指令将innerValue和父组件的value绑定起来,并在input事件中触发一个名为update:value的事件,将innerValue的值传递给父组件。

父组件:

复制代码
<template>
  <div>
    <my-input v-model="message"></my-input>
    <p>{{ message }}</p>
  </div>
</template>

<script>
import MyInput from './MyInput.vue'

export default {
  components: {
    MyInput
  },
  data() {
    return {
      message: ''
    }
  }
}
</script>
复制代码

在父组件中,我们使用v-model指令将子组件的value属性和message属性绑定起来。这样,当子组件中的数据发生变化时,就会自动更新父组件的message属性,并将其显示出来。

posted on   荻!!!!!!!!  阅读(1131)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示