<el-icon class="icon" size="20" @click="store.commit('collapseMenu')" > 我想调用完store.commit('collapseMenu')事件之后再加一个onCollapseChange事件执行 怎么写代码
时间: 2024-11-15 08:19:58 浏览: 3
在 Vue.js 中,如果你想在 `store.commit('collapseMenu')` 事件处理完毕后立即触发另一个 `onCollapseChange` 事件,你可以将这两个操作包装在一个函数中,然后在这个函数内部依次执行。假设 `store` 和 `onCollapseChange` 都已经作为组件的实例方法或属性存在:
```vue
<template>
<el-icon :class="{'icon': true, 'size-20': true}" @click="handleEvent">
<!-- ... -->
</el-icon>
</template>
<script>
export default {
methods: {
handleEvent() {
this.store.commit('collapseMenu');
// 确保 store.commit 完成后再执行 onCollapseChange
this.$nextTick(() => {
this.onCollapseChange();
});
},
onCollapseChange() { /* 这里是你的 onCollapseChange 方法内容 */ }
}
}
</script>
```
这里使用了 `$nextTick` 调用,它会在 DOM 更新完成后(异步)执行回调函数,因此 `onCollapseChange` 将在 `collapseMenu` 的变化生效后执行。
阅读全文