Posted in PHP

nuxt – asyncData

https://nuxtjs.org/guide/async-data

asyncData(),在渲染view(載入page元件) 之前,先在server讀完資料並且回傳DOM。這方式讓原始碼看得出是那些HTML碼,搜尋引擎才爬的到內容。之前單純用vue在client渲染, 原始碼看起來很怪,引擎不能爬到內文。

client-side render:mounted()讀取資料

server-side render:asyncData()讀取資料

返回一個鍵為posts的Promise物件,nuxt會自動對應且設定data()的變數(posts),所以data()有沒有宣告posts變數都沒關係。底下程式碼沒有在data() { return { posts: []} },但是v-for一樣可以讀到posts。建議還是有宣告比較好,程式碼比較清楚。

另一個方式async/await可以讓code看起來簡潔許多。

Leave a comment