【发布时间】:2019-11-14 14:19:27
【问题描述】:
有没有办法覆盖本地组件内部调用的一些 npm 的 mixin?
我里面有一个 npm 包组件
node_modules/somePackageName/components/footer.vue 使用另一个来自
node_modules/somePackageName/mixins/popup.js
popup.js 包含以下方法:
methods: {
setPopupActiveStatus (val, blur = true) {
const isVisible = false
}
},
我想从 App.vue 覆盖它的行为,我使用 footer.vue 组件,如下所示:
methods: {
setPopupActiveStatus (val, blur = true) {
const isVisible = true
}
},
但它并没有像我想要的那样工作。
==== 更新 ====
这是我如何根据@Estradiaz 的回答解决我的问题的解释:
【问题讨论】:
-
你就不能
class ExtendedComp extends Original{setPopupActiveStatus (val, blur = true) { //this.super();\n const isVisible = true; }}吗? -
@Estradiaz - 我认为在没有示例的情况下理解代码的实现对我来说是一个高级别的 JS。
-
aspirinemaga,您能否使用codesandbox 或对您的问题进行更多描述来获取示例?
-
@aspirinemaga 我的错,我在打字稿领域做得很多 - 但基本想法就像 vuejs.org/v2/api/#Vue-extend ,
Vue.extend(OriginalCompOption).extend(changes)或OriginalComp.extend(changes)实际上取决于 footer.vue 中的导出与ClonedOriginalComp.mixins.push(changes)相同
标签: javascript vue.js