vue 子组件调用父组件的多种方法
时间: 2024-10-25 18:01:00 浏览: 64
vue 父组件中调用子组件函数的方法
在Vue.js中,子组件可以有几种方式来调用父组件的方法:
1. **通过 prop(属性)传递**:
子组件可以在`props`中定义一个函数并传给父组件,然后在父组件内部触发这个函数。例如:
```html
<parent-component :callParent="myMethod"></parent-component>
```
父组件:
```javascript
export default {
methods: {
myMethod(data) {
// 父组件操作
}
}
}
```
2. **通过 $emit(发射事件)**:
子组件可以通过 `$emit` 触发一个自定义事件,父组件监听这个事件并在对应的回调中处理。如:
```javascript
this.$emit('custom-event', {data: 'some data'});
```
父组件:
```javascript
<template>
<button @click="handleCustomEvent">触发方法</button>
</template>
methods: {
handleCustomEvent(e) {
this.myMethod(e.detail.data);
}
}
```
3. **自定义事件 bus**:
使用第三方的事件中心(比如Vue Event Bus),子组件可以直接向全局事件中心发布,父组件订阅该事件。
4. **混合使用 props 和 events**:
有时可能会结合使用prop和事件,例如传递一个命令作为 prop,然后在父组件的某个方法中执行这个命令。
阅读全文