vue3 setup 语法糖:写法子组件调用父组件方法?
时间: 2024-06-16 13:06:21 浏览: 212
Vue 3中引入了新的语法糖——`setup`函数,用于替代Vue 2中的`data`、`methods`等选项。`setup`函数是一个在组件内部执行的函数,它接收两个参数:`props`和`context`。
在`setup`函数中,我们可以通过`props`参数获取父组件传递的属性值,然后可以在子组件中直接使用这些属性值。同时,我们也可以通过`context`参数获取到一些其他的上下文信息,比如`attrs`、`slots`等。
要调用父组件的方法,我们可以通过`context`参数中的`emit`方法来实现。`emit`方法允许子组件触发父组件中定义的事件,并传递参数给父组件的方法。
下面是一个示例代码,演示了如何使用`setup`语法糖来调用父组件的方法:
```vue
<template>
<button @click="callParentMethod">调用父组件方法</button>
</template>
<script>
export default {
setup(props, context) {
const callParentMethod = () => {
// 调用父组件的方法
context.emit('eventName', 参数);
};
return {
callParentMethod
};
}
};
</script>
```
在上面的代码中,子组件中的按钮被点击时,会调用`callParentMethod`方法,然后通过`context.emit`方法触发了父组件中名为`eventName`的事件,并传递了一个参数。
阅读全文