在Vue.js中,组件之间的通信是通过props(属性)和emit(事件)来实现的。
1. 父组件向子组件传值:在父组件中定义一个属性,然后在子组件中通过props接收这个属性的值。例如:
```html
export default {
data() {
return {
parentValue: 'Hello, World!'
};
},
components: {
ChildComponent
}
};
```
2. 子组件向父组件传值:在子组件中定义一个事件,然后在父组件中监听这个事件并处理。例如:
```html
Click me
export default {
methods: {
emitEvent() {
this.$emit('my-event', 'Hello from child component');
}
}
};
```
在父组件中:
```javascript
import { onMounted } from 'vue';
export default {
mounted() {
const self = this;
setInterval(() => {
console.log(self.$store.state.message);
}, 1000);
},
methods: {
myMethod() {
this.$emit('my-event', 'Hello from parent component');
}
}
};
```