如何访问nuxt的asyncData函数中的vue存储



在一个组件中,我想用asyncData函数访问存储,比如:

asyncData({ app, params }) {
var url = `https://myapi/news/${app.$store.state.market}/detail/${params.id}`;
return app.$axios.get(url).then(response => {
return { actu: response.data };
});

}

但我收到了"无法读取未定义的属性‘state’">

这里有其他人可以接收商店的状态吗?

您需要从上下文中获取存储。参考

asyncData({ app, params, store }) {
var url = `https://myapi/news/${store.state.market}/detail/${params.id}`;
return app.$axios.get(url).then(response => {
return { actu: response.data };
});

这对我有效

Store/index.js

...
state: {
loadedPages: []
}
...

页面

async asyncData(context) {
...
console.log(context.store.state.loadedPages)
...
}

最新更新