Vue.js gives weird object with Observer data

Jen*_*sen 5 javascript vue.js

我正在使用axios接收数据,如下所示:

getData() {                                        
    Axios.get(                                        
        '/vue/get-data/',                           
        {                                             
            params: {                                 
                categories: this.category,            
                activeFilters: this.activeFilters,    
            }                                         
        }                                             
    ).then((response) => {                            
        this.banners = response.data;                 
        this.setBanner();                             
    })                                                
},           
Run Code Online (Sandbox Code Playgroud)

然后我得到这个:

在此处输入图片说明

当我尝试console.log(response.data.length),我得到undefined。这里发生的事情很奇怪!

当我看vue-devtools横幅时,有2个对象:

在此处输入图片说明

那么如何无法response.data.length定义呢?

fre*_*cer 5

您正在获取对象而不是数组,为什么.length不起作用,并且您正在获取undefined

this.banners = response.data[0];// for first 
Run Code Online (Sandbox Code Playgroud)

或循环遍历,以获得每个对象的数据

for(var i in response.data){
     console.log(response.data[i]);
}
Run Code Online (Sandbox Code Playgroud)

如果to get每个值都不是您的目的,并且您只想确定大小,请检查此答案