這次帶給大家vue使用axios時this指向哪裡,使用vue呼叫axios時的this注意事項有哪些,下面就是實戰案例,一起來看一下。
vue使用axios時this指向哪裡
本文主要介紹了vue使用axios時this的指向問題,下面話不多說了,來一起看看詳細的介紹吧。
1.解決方法
# 在vue中使用axios做網路請求的時候,會遇到this不指向vue,而為undefined,可以使用箭頭函數"=>"來解決。如下:
methods: { loginAction(formName) { this.$axios.post('http://127.0.0.1/u/subLogin', { username: this.username, password: this.password }) .then(function(response){ console.log(this); //这里 this = undefined }) .catch((error)=> { console.log(error); //箭头函数"=>"使this指向vue }); }); } }
2. 原因
# ES6中的 箭頭函數 "=>" 內部的this是詞法作用域,由上下文決定(也就是由外層呼叫者vue來決定)。
3. 題外話
# 使用"=>"函數,就可以告別之前的兩種寫法了:
bind(this)
來改變匿名函數的this指向
#
hack寫法 var _this= this;
:
loginAction(formName) { var _this= this; this.$axios.post("...") .then(function(response){ console.log(_this); //这里 _this 指向vue }) }); }
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是vue使用axios時this指向哪裡的詳細內容。更多資訊請關注PHP中文網其他相關文章!