在vue中父组件的方法传给子组件
时间: 2023-08-18 12:12:01 浏览: 87
在 Vue 中,父组件可以通过 props 将自己的方法传递给子组件。以下是一个示例:
在父组件中,定义一个方法并将其传递给子组件:
```vue
<template>
<div>
<ChildComponent :callback="parentMethod" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
methods: {
parentMethod() {
// 这是父组件的方法
console.log('这是父组件的方法');
}
}
}
</script>
```
在子组件中,声明一个 props 属性来接收父组件传递的方法,并在需要的地方调用该方法:
```vue
<template>
<div>
<button @click="invokeCallback">调用父组件方法</button>
</div>
</template>
<script>
export default {
props: {
callback: {
type: Function,
required: true
}
},
methods: {
invokeCallback() {
// 调用父组件传递的方法
this.callback();
}
}
}
</script>
```
在子组件中,我们通过 `props` 接收了 `callback` 属性,并将其类型指定为 `Function`。然后在需要的地方调用 `this.callback()` 即可触发父组件的方法。
这样,父组件的方法就成功地传递给了子组件,并且可以在子组件中调用。
阅读全文