Javascript 获取axios get中未定义的错误

Javascript 获取axios get中未定义的错误,javascript,vue.js,vuejs2,axios,Javascript,Vue.js,Vuejs2,Axios,我的API响应如下所示 data: { id: 9, quantity: 2, address: "Test Address", total_price: 144.42, created_at: "August 07, 2018 04:02:46 AM", customer: { id: 3, name: "Prof. Laurel Lemke", email: "velma32@example.or

我的API响应如下所示

data: {
    id: 9,
    quantity: 2,
    address: "Test Address",
    total_price: 144.42,
    created_at: "August 07, 2018 04:02:46 AM",
    customer: {
        id: 3,
        name: "Prof. Laurel Lemke",
        email: "velma32@example.org",
        role_id: 3,
    },
    product: {
        id: 7,
        name: "Pellentesque semper",
        description: "raesent sit amet elementum purus.
        price: "72.21",
        cover_image: "7CPVS7yjqba9iJ7J.jpg",
    }

}
我用axios获取它,在axios中,当点击按钮时它被触发

fetchOrder: function(id){
    let vm = this;
    axios.get('api/order/' + id)
    .then( response => {
        vm.order = response.data.data;
        vm.orderModal = true;
    })
    .catch( error => {
        console.log(error);
    });
},
响应是成功的,我用

<span>{{ order.address }}</span> //Test Address
我怎样才能解决这个问题?谢谢

将其更改为:

<span>{{order.customer && order.customer.name}}</span>
{{order.customer&&order.customer.name}
将其更改为:

<span>{{order.customer && order.customer.name}}</span>
{{order.customer&&order.customer.name}

问题在于您的代码已执行,但API调用是异步的,因此直到API返回响应但代码已执行时,才定义customer。在访问价值之前,您需要向客户进行检查

order.address
有效,因为order可能是对象,因此在获取API响应之前,order.address将是未定义的。但是,对于order.customer.name,customer是未定义的,因此customer.name将中断


检查
{{order.customer&&order.customer.name}
,它应该可以正常工作

问题是代码被执行了,但是API调用是异步的,所以直到API返回响应但代码被执行时才定义customer。在访问价值之前,您需要向客户进行检查

order.address
有效,因为order可能是对象,因此在获取API响应之前,order.address将是未定义的。但是,对于order.customer.name,customer是未定义的,因此customer.name将中断


检查
{{order.customer&&order.customer.name}
,它应该可以正常工作

您的
订单。客户
没有
名称
对象,或者您的客户是空的或者
未定义的
。您的
订单.customer
没有
名称
对象,或者您的客户是空的或者
未定义的
<span>{{order.customer && order.customer.name}}</span>