vue2 父传子,子传父

在Vue.js 2中,通过props和自定义事件可以实现父组件向子组件传递数据,子组件向父组件传递事件。以下是简单的示例:

1. 父传子(通过props)

父组件(ParentComponent.vue)

<template>
  <div>
    <child-component :message="parentMessage"></child-component>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent,
  },
  data() {
    return {
      parentMessage: 'Hello from parent!',
    };
  },
};
</script>

子组件(ChildComponent.vue)

<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  props: {
    message: String,
  },
};
</script>

2. 子传父(通过自定义事件)

子组件(ChildComponent.vue)

<template>
  <div>
    <button @click="sendMessageToParent">Send Message to Parent</button>
  </div>
</template>

<script>
export default {
  methods: {
    sendMessageToParent() {
      this.$emit('child-message', 'Hello from child!');
    },
  },
};
</script>

父组件(ParentComponent.vue)

<template>
  <div>
    <child-component @child-message="handleChildMessage"></child-component>
    <p>{{ receivedMessage }}</p>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent,
  },
  data() {
    return {
      receivedMessage: '',
    };
  },
  methods: {
    handleChildMessage(message) {
      this.receivedMessage = message;
    },
  },
};
</script>

这些示例展示了Vue.js 2中父子组件之间如何通过props和自定义事件进行通信。在第一个示例中,父组件通过props将数据传递给子组件。在第二个示例中,子组件通过$emit触发一个自定义事件,父组件监听这个事件并执行相应的方法。

posted @ 2023-10-12 11:02  __username  阅读(35)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。