cari

Rumah  >  Soal Jawab  >  teks badan

javascript - ralat penetapan data permulaan vue

kod vue

<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>

Laporkan ralat

TypeError: Cannot set property 'titleList' of undefined
Ralat jenis, tidak boleh menetapkan sifat yang tidak ditentukan,

Data

response.data ialah tatasusunan objek
Saya telah memulakan titleList, tetapi saya tidak tahu mengapa ia mengatakan ia tidak ditentukan, sila berikan saya jawapan

漂亮男人漂亮男人2748 hari yang lalu805

membalas semua(6)saya akan balas

  • 伊谢尔伦

    伊谢尔伦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)

    balas
    0
  • 巴扎黑

    巴扎黑2017-06-26 10:57:47

    .then(res => {
        this.titleList = res;
    })

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再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!

    balas
    0
  • 扔个三星炸死你

    扔个三星炸死你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

    balas
    0
  • 習慣沉默

    習慣沉默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

    balas
    0
  • 阿神

    阿神2017-06-26 10:57:47

    axios.get('***').then((res) => {
        this.titleList=res.data;
    });

    Cuba cara ini

    balas
    0
  • Batalbalas