【发布时间】:2020-04-27 23:09:38
【问题描述】:
如何在不为到达组件重写相同方法的情况下在不同组件中使用相同的方法。我查看了 mixins,但文档说“谨慎使用全局 mixins”。所以我想知道这种方法是否有更理想的方法。与全局计算相同。
<template>
<div class="wrapper">
...
<a href="#" @click.prevent="goToPage('page')">Link on many templates</a>
...
</div>
</template>
<script>
export default {
data() {
return {}
},
methods: {
goToPage(page) {
return this.$store.commit('page/push', {page:page});
}
}
}
</script>
谢谢
【问题讨论】:
-
mixins是你在使用 vue 2 时应该使用的。它有一些缺点,但并不意味着它不能使用。或者你可以等待 vue 3 正式发布。 -
@Psidom 您能否详细说明 Vue 3 以及它带来的在这种情况下可能会有所帮助的好处?我找不到其他官方文档。谢谢!
-
您可以在此处阅读vue composition-api,更具体地说是logic extraction and reuse。 TLDR:mixin 存在属性资源清晰和命名空间冲突等问题。这些问题将通过 vue 3 的 composition api 解决。