<script>
import axios from 'axios';
export default {
data() {
return {
titleList: [],
}
},
created() {
this.axios.get('XX').then(function(response) {
console.log(response.data);
this.titleList=response.data;
}).catch(function (error) {
console.log(error);
});
}
}
</script>
TypeError: Cannot set property 'titleList' of undefined
類型錯誤,無法設定未定義的屬性,
response.data是一個物件陣列
我已經初始化了titleList,不知為何說他未定義,求大神解答
this 指向更改了 你可以列印出this來看一下指向誰
解決方案
1.用箭頭函數吧
2.儲存this (let _this = this)
雷雷
這樣試下。如果不行,把錯誤貼出看下!
this指標遺失,可以使用箭頭函數,也可以用一個變數儲存this
let _this = this
我在使用axios請求資料的時候記得是在程式入口檔案main.js裡面全域引入axios類別庫,試試引入後用Vue.prototype.$http=axios,之後就可以在全域使用了,至於樓上給的答案指出的this指標問題,可以試試,我習慣了es6的文法,所以專案中用的一般都是箭頭函數
用這種方式試試