Vuejs无法引用数组

问题描述 投票:0回答:1

我无法在vue js中引用数组。

  console.log(this.ref_number_response[0]);

这告诉我未定义,我想知道为什么...

      data(){
        return{ 
           ref_number_response: [],
     }
},
methods:{
check_ref_number: function () {
             // axios request
             axios.get('/is_referenceNumber_free/'+this.ref_number)
             .then(response => this.ref_number_response.push({ 
                 info: response.data

              }));

        
console.log(this.ref_number_response[0]);
           Event.$emit('reference_added', this.ref_number_response);
             
         },
}
<div class="form-group">
        <label for="" class="col-sm-2 control-label">Ref Number</label>
        <div class="col-sm-10">
            <input v-model="ref_number" type="text" name="ref_number" class="form-control" id="" placeholder="Referent number" @blur="check_ref_number" required>
        </div>
    </div>

这是我得到的响应,我不想使用v-for进行多次迭代以获得实际诊断。

[ { "info": [ { "diagnosis": "St. post. trauma testis sin. Obs Ruptura testis sin." }, { "diagnosis": "diagnosi2" } ] } ]
javascript vue.js
1个回答
1
投票

这表明您未定义,因为console.log在承诺之外。当您控制台日志时,ref_number_response是一个空数组,并且第一个元素显然未定义。

data(){
     return { 
           ref_number_response: [],
     };
},
methods: {
   check_ref_number() {
             // axios request
             axios.get('/is_referenceNumber_free/'+this.ref_number)
             .then((response) => {
                  console.log(response.data);
                  this.ref_number_response = response.data;
                  console.log(this.ref_number_response); // now its not empty
                  this.$emit('reference_added', this.ref_number_response);
             });
         },
}
© www.soinside.com 2019 - 2024. All rights reserved.