; <p>目标在 nuxt.config.js 中是静态的。</p> <h1><strong>编辑</strong></h1> <p>经过研究,我发现在nuxt-link的params对象中传递的id在重新加载后丢失,因为它需要“父”页面来获取id的值。为了解决这个问题,我通过API使用slug获取了项目,并显示了所有属性(如标题、内容等)
async asyncData({ params, $axios }) { 尝试 { console.log(params.slug); const 项目 = 等待 $axios.$get(`https://my-api.wp/wp-json/wp/v2/project?slug=${params.slug}&_embed`) 返回{项目} } 捕获(错误){ ... }</pre></p>
P粉4595788052023-08-26 10:12:16
asyncData
在刷新页面或直接输入URL时不会重新触发。
如果您想在这些事件发生时获取数据,可以使用fetch()
钩子或中间件。
在继续之前,请确保您已安装@nuxtjs/axios
: https://axios.nuxtjs.org/setup
<script> export default { async asyncData({ params, $axios }) { try { const project = await $axios.$get(`https://my-api.wp/wp-json/wp/v2/project/${params.id}`) return { project } } catch (error) { if (error.response) { // Request made and server responded console.log(error.response.data) console.log(error.response.status) console.log(error.response.headers) } else if (error.request) { // The request was made but no response was received console.log(error.request) } else { // Something happened in setting up the request that triggered an Error console.log('Error', error.message) } } }, } </script>