如何在组件中使用Vue mixin方法



我试图在Vue.js v2中创建一个mixin。但是每次我调用它的一个方法时,控制台都会显示一个错误:

TypeError:mixins_settings_js__webpack_importted_module_3_.default.loadSettings不是一个函数at eval (Login.vue?7463:102)

/src/混合/setting.js

import vuex from "@/plugins/vuex.js"
import menu from "@/settings/menu.json";
export default {
methods: {
_traverse(jsonObj) {...},
loadSettings() {
this._traverse(menu);
...
}
}
}

/src/组件/Login.vue

...
import settings from "@/mixins/settings.js"
export default {
mixins: [settings],
data() {
return {...};
},
methods: {
onSubmit() {
...
settings.loadSettings();
}
}
}

我错在哪里?

使用与本地定义属性时相同的语法访问mixin的属性。换句话说,使用this代替mixin对象:

methods: {
onSubmit() {
this.loadSettings();
}
}

最新更新