vue3$emit传值
时间: 2023-10-19 22:32:00 浏览: 111
在Vue 3中,可以通过使用`$emit`方法来实现组件之间的传值。与Vue 2相比,Vue 3中的`$emit`的用法是一样的。
在父组件中,可以通过在子组件上使用`@deleteArticle`来监听子组件触发的事件。例如,在父组件中的模板代码可以是这样的:
```
<sy-pagination @deleteArticle="deleteArticle"></sy-pagination>
```
然后,在父组件中定义一个`deleteArticle`方法来处理子组件触发的事件。这个方法可以通过`$emit`来传递数据给父组件。例如:
```
const deleteArticle = (id) => {
// 处理传递的数据
};
```
在子组件中,可以通过在`setup`函数中使用`emit`来触发事件并传递数据给父组件。例如:
```
import { reactive } from "vue";
export default {
setup(props, { emit }) {
let data = reactive({});
const deleteArticle = (id) => {
emit("deleteArticle", id); // 使用emit触发事件,并传递id数据给父组件
};
return { data, deleteArticle };
},
};
```
这样,当子组件调用`deleteArticle`方法并传递一个id参数时,父组件的`deleteArticle`方法就会被触发,并且可以获取到传递的id值来进行相应的处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [vuejs使用$emit和$on进行组件之间的传值的示例](https://download.csdn.net/download/weixin_38644688/13193971)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Vue3 $emit父子传值](https://blog.csdn.net/qq_52697994/article/details/119146513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文