【问题标题】:Call original VueJS mixin method from overridden implementation从覆盖的实现中调用原始的 VueJS mixin 方法
【发布时间】:2020-12-25 22:46:45
【问题描述】:
好的,我有一个网页,其中包含一些供用户使用的步骤,以及一个处理这些步骤属性和逻辑的 mixin,例如当前/下一步值、检查以使用户能够从每个步骤推进到下一步等。
现在我必须添加一个仅在某个步骤之后才能执行的新功能,所以我想做的是调用每次用户进入下一步添加时调用的原始 mixin 方法这个功能。
为了更清楚,mixin(显然)在 webapp 的许多页面中使用,所以我想覆盖扩展它的组件中的罪魁祸首 mixin 方法,调用原始 mixin 方法以重用其逻辑,然后调用新功能的其他方法。
有可能吗?
【问题讨论】:
标签:
vue.js
inheritance
mixins
【解决方案1】:
当然可以,试试吧:
// MyMixin.js
export default {
methods: {
myMethod() {
//...
}
}
}
// Component.vue
<script>
import MyMixin from 'path-to-mixins/MyMixin'
export default {
//...
mixins: [MyMixin],
methods: {
// there is overrinding you mixin method called myMethod
myMethod() {
// then some logic before to use your mixin method
// and call your mixin method as below
MyMixin.methods.myMethod()
}
}
//...
}
</script>