Nuxt - 如何在全局混合中调用吸气剂?
Nuxt - How to call a getters in a global mixins?
大家好,这里是我编写的 mixin 代码,因为我想将其用于 default.vue 和 error.vue 布局。我试图避免在两种布局中重复代码。
export default {
provide () {
return {
copyRight: this.getCopyrightText,
email: this.getEmail,
socials: this.getSocials
}
},
computed: {
getMenu () {
return this.store.getters['general/getMenu'].menu
},
getSocials () {
return this.store.getters['general/getSocialDetails']
},
getCopyrightText () {
return this.store.getters['general/getCopyRight']
},
getEmail () {
return this.store.getters['general/getEmail']
}
},
middleware: 'load-menu-items'
}
这是我得到的:无法读取未定义的 属性 'length'
我做错了什么?
在您的组件中,我假设您正在对从 getter 方法接收的数据使用 .length
,这可能是发生错误的地方。
首先,您应该进行调试,看看您的 getter 是否确实按预期工作。试试这个并查看控制台中每个 getter 计算出的 属性 的输出。如果 undefined
被打印到控制台,如果您在其上使用 .length
,您将得到 post 编辑的错误
getEmail () {
let data = this.store.getters['general/getEmail'];
console.log(data);
return data;
}
如果你 post 使用这个 mixin 的组件也许我可以进一步帮助你。
大家好,这里是我编写的 mixin 代码,因为我想将其用于 default.vue 和 error.vue 布局。我试图避免在两种布局中重复代码。
export default {
provide () {
return {
copyRight: this.getCopyrightText,
email: this.getEmail,
socials: this.getSocials
}
},
computed: {
getMenu () {
return this.store.getters['general/getMenu'].menu
},
getSocials () {
return this.store.getters['general/getSocialDetails']
},
getCopyrightText () {
return this.store.getters['general/getCopyRight']
},
getEmail () {
return this.store.getters['general/getEmail']
}
},
middleware: 'load-menu-items'
}
这是我得到的:无法读取未定义的 属性 'length'
我做错了什么?
在您的组件中,我假设您正在对从 getter 方法接收的数据使用 .length
,这可能是发生错误的地方。
首先,您应该进行调试,看看您的 getter 是否确实按预期工作。试试这个并查看控制台中每个 getter 计算出的 属性 的输出。如果 undefined
被打印到控制台,如果您在其上使用 .length
,您将得到 post 编辑的错误
getEmail () {
let data = this.store.getters['general/getEmail'];
console.log(data);
return data;
}
如果你 post 使用这个 mixin 的组件也许我可以进一步帮助你。