; <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
在重新整理頁面或直接輸入網址時不會重新觸發。
如果您想在這些事件發生時取得數據,可以使用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>