vue.js - 如果从发射触发,Vue 方法会丢失“this”?
问题描述
我正在使用最新的 Vue 3。
外模板:
<base-table @row-click="routeToEdit" ...>
... slots
</base-table>
我的div上的内部BaseTable
组件:tr
<div @click="triggerRowClick(item)">...</div>
在方法中BaseTable
:
methods: {
triggerRowClick(item) {
this.$emit('row-click', { item });
},
},
并在我的外部模板中退出......this
未定义,我无权访问$router
或其他任何东西:(
methods: {
routeToEdit: ({ item }) => {
// this.$router.push('room_edit', { params: { room_id: item.id } });
console.log(item);
},
},
解决方案
推荐阅读
- flutter - BlocBuilder 部分更新 ListView
- python - Series.transform 和 Series.apply 之间有什么区别吗?
- sharepoint - 访问共享点时Jmeter连接超时
- php - Laravel 分页视图
- python - Kivy 小部件矩形不移动
- python - 条形图中的垂直线
- bash - 我的 shell 脚本“break”语句不起作用
- javascript - Vue中如何将多个文件转成filebase64?
- java - java中二叉树的一种方法
- swift - UIMarkupTextPrintFormatter 和 Mac Catalyst