2017-09-14 48 views
0

我无法引用vue js中的数组。Vuejs无法引用数组

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>

这是我得到的回应,我不想iterrate几次使用v-for来获得实际诊断。

[{“info”:[{“diagnosis”:“St. post。trauma testis sin。Obs Ruptura testis sin。”)。 },{“diagnosis”:“diagnosi2”}]}]

回答

0

它显示您未定义,因为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); 
      }); 
     }, 
}