当我在 my中运行nuxt generate
时,我的动态创建的路由不接受它们的有效负载,它们是这样的:target: "static"
nuxt.config.js
****nuxt.config.js****
generate: {
routes() {
return axios
.get(`${process.env.ROOT_URL}/businesses`)
.then(res => {
return res.data.map(business => {
return {
route: `/business/${business.id}`,
payload: business
};
});
});
}
}
****business.vue****
async asyncData({ params, store, error, payload }) {
if (payload) {
console.log('GOT PAYLOAD!', payload);
return { business: payload };
} else {
// other stuff
}
})
在nuxt generate
上面的 console.log 中,每个动态路由都会被命中,所以我知道它正在接收正确的有效负载。
在nuxt generate
我dist
的文件夹对每个动态路由都有一个子文件夹后,但是index.html
for each 里面只有几行,当我在浏览器上访问每个动态路由的页面时,不会出现特定于动态路由的内容(我的layout
组件中的导航栏很好)。
应用程序中的导航工作正常,所以如果我转到另一个页面并进入我的动态路由内容的页面,那么会出现,所以asyncData
工作,接受有效负载是麻烦。
如果没有target: "static"
按预期工作,index.html
for each in 中dist
有很多内容,并且页面在访问时会加载所需的内容,尽管head()
没有生成 business.vue 中的方法(请参阅我的问题here)。
谁能指出我错过了什么/做错了什么?