vue路由跳轉報錯解決


vue路由跳轉:

setTimeout(function () {
console.log(this);
this.$router.push("/login");
},800)

語法沒問題但是報錯:

MyFollow.vue?c93c:119 Uncaught TypeError: Cannot read property 'push' of undefined

這時候說明this指向不一樣了,要打印一下this 看看。
發現setTimeout函數里的this指向的不是vue對象而是window,改為箭頭函數即可解決

settimeout 的function會改變this指向並指向全局window,如果不改變this指向 ,這里要使用箭頭函數
setTimeout(()=>{
this.$router.push("/login");
},100)

 


免責聲明!

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



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