1. 程式人生 > >vue整合的axios(Bug)

vue整合的axios(Bug)

vue整合axios(Bug)

在專案中需要用到後臺的資料對前端渲染,使用到了vue整合的axios,使用vue中的鉤子函式在頁面元件掛載完成之後向後臺傳送一個get請求然後將返回後的資料賦值data()中定義的屬性:

img

執行後頁面報錯:

img

原因分析:

在請求執行成功後執行回撥函式中的內容,回撥函式處於其它函式的內部this不會與任何物件繫結,為undefined。也就是說方法中的 this 指的是當前 function 中的,但是該函式中並沒有 forklifts 屬性,所以報undefined

解決方案:

箭頭函式

箭頭函式特點

  • 箭頭函式作為匿名函式,是不能作為建構函式的,不能使用new
  • 箭頭函式會捕獲其所在上下文的 this 值,作為自己的 this 值
  • 箭頭函式的this永遠指向其上下文的 this,任何方法都改變不了其指向

img

this 轉移

將指向vue物件的this賦值給外部方法定義的屬性,然後在內部方法中使用該屬性

img