数组未定义的javascript

时间:2017-09-18 08:54:51

标签: javascript vue.js

你好我的问题是我在尝试获取数组长度时得到了未定义,但是当我尝试只访问数组时,一切正常。

以上不起作用 - >

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

这有效 - >

console.log(this.ref_number_response);

这就是整个

check_ref_number: function () {

 this.ref_number_response = [];

 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].info.length);

 Event.$emit('reference_added', this.ref_number_response);

},

2 个答案:

答案 0 :(得分:0)

收到数据后发出事件:

check_ref_number: function () {
 axios.get('/is_referenceNumber_free/'+this.ref_number)
 .then(response => Event.$emit('reference_added',[{info:response.data}]));
}

问题在于您是异步获取数据,并在数据准备好之前尝试使用数据。

答案 1 :(得分:0)

您说您正在尝试访问数组长度,但

this.ref_number_response

是数组,所以这个console.log(this.ref_number_response[0].info.length);的唯一方法是工作(你试图从数组长度的第一个元素获取info属性而不是实际的数组长度)是信息是一个数组也是如此。所以你可能需要做类似的事情:

console.log(this.ref_number_response.length);