Rumah > Soal Jawab > teks badan
<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
Ralat jenis, tidak boleh menetapkan sifat yang tidak ditentukan,
response.data ialah tatasusunan objek
Saya telah memulakan titleList, tetapi saya tidak tahu mengapa ia mengatakan ia tidak ditentukan, sila berikan saya jawapan
伊谢尔伦2017-06-26 10:57:47
Penunjuk ini telah berubah Anda boleh mencetak ini untuk melihat kepada siapa ia ditunjuk
Penyelesaian
1. Gunakan fungsi anak panah
2. Simpan ini (biar _ini = ini)
过去多啦不再A梦2017-06-26 10:57:47
this.axios.get('XX')
.then(function (response) {
response=response.body;
this.titleList=response.data;
})
.catch(function (error) {
console.log(error);
})
Cuba ini. Jika ia tidak berfungsi, siarkan ralat dan lihat!
扔个三星炸死你2017-06-26 10:57:47
Penunjuk ini hilang, anda boleh menggunakan fungsi anak panah, atau anda boleh menggunakan pembolehubah untuk menyimpan ini let _this = this
習慣沉默2017-06-26 10:57:47
Apabila saya menggunakan axios untuk meminta data, saya ingat untuk memperkenalkan perpustakaan kelas axios secara global dalam fail masukan program main.js Selepas mengimportnya, cuba gunakan Vue.prototype.$http=axios untuk tingkat atas Anda boleh mencuba isu penunjuk ini yang ditunjukkan dalam jawapan yang diberikan Saya sudah biasa dengan sintaks es6, jadi fungsi anak panah biasanya digunakan dalam projek
阿神2017-06-26 10:57:47
axios.get('***').then((res) => {
this.titleList=res.data;
});
Cuba cara ini