NuxtJS項目——異步數據


  Nuxt.js 擴展了 Vue.js,增加了一個叫 asyncData 的方法,使得我們可以在設置組件的數據之前能異步獲取或處理數據。asyncData方法會在組件(限於頁面組件)每次加載之前被調用。它可以在服務端或路由更新之前被調用。 在這個方法被調用的時候,第一個參數被設定為當前頁面的上下文對象,我們可以利用 asyncData方法來獲取數據,Nuxt.js 會將 asyncData 返回的數據融合組件 data 方法返回的數據一並返回給當前組件。

  (1)asyncData 的實現方式

  使用 asyncData 方法的方式有下面幾種,可以根據自己的喜好來選擇:

  • 返回Promise

  返回一個 Promise, nuxt.js會等待該Promise被解析之后才會設置組件的數據,從而渲染組件。

  • 使用async或await
  • 使用回調函數

  (2)asyncData還可以訪問動態路由的數據,我們可以使用注入asyncData屬性的context對象來訪問動態路由數據。

  (3)query參數的監聽

  默認情況下,query的改變不會調用asyncData方法。如果要監聽這個行為,例如,在構建分頁組件時,您可以設置應通過頁面組件的watchQuery屬性監聽參數。

  (4)錯誤提示

  Nuxt.js 在上下文對象context中提供了一個 error(params) 方法,你可以通過調用該方法來顯示錯誤信息頁面。params.statusCode 可用於指定服務端返回的請求狀態碼。

如果我們使用了回調函數的方式, 可以將錯誤的信息對象直接傳給該回調函數, Nuxt.js 內部會自動調用 error 方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM