Vue.js:无法访问数组中的第一项

时间:2018-07-27 13:54:29

标签: javascript vue.js

我正在尝试订阅以下JSON数组中的第一个对象。

"data" : [ {
      "registrationNumber" : "1234",
      "vehicleMake" : "B.M.W.",
      "vehicleModel" : "R1100 S",
      "cylinderCapacity" : "1100",
      "typeOfFuel" : "Petrol",
      "colour" : "Blue",
      "dateOfFirstRegistration" : "Wed Feb 18 00:00:00 GMT 2000"
    } ]

这是 vehicle.js ,它可以在以前的json结构下很好地访问数据,该结构不使用数组来存储对象(只能是单个对象)。

  export function getVehicleEnquiry({ regNumber }) {
  return axios.post(`${API}/VehicleLookup`, {
    fieldname: 'registrationNumber',
    value: regNumber,
  }).then(data => ({
    data: {
      regNumber: data.registrationNumber,
      make: data.vehicleMake,
      model: data.vehicleModel,
      firstRegistered: data.dateOfFirstRegistration,
      capacity: data.cylinderCapacity,
      fuelType: data.typeOfFuel,
      color: data.colour,
    },
  }));
}

1 个答案:

答案 0 :(得分:1)

由于您的响应现在包含一个数组,因此无法直接访问该对象。使用[0],您可以引用数组的第一个索引,该索引“包含”您要查找的对象。

data更改为data[0]

data: {
      regNumber: data[0].registrationNumber,
      make: data[0].vehicleMake,
      model: data[0].vehicleModel,
      firstRegistered: data[0].dateOfFirstRegistration,
      capacity: data[0].cylinderCapacity,
      fuelType: data[0].typeOfFuel,
      color: data[0].colour,
    },