Pessoal. Estou tendo problemas com uma classe (Vehicle) na qual criei um método chamado "getStay()". Este método é chamado por outro método utilizado no framework Vue.js, chamado "setExitData()". Quando eu chamo este último, acabo obtendo a seguinte mensagem de erro: "TypeError: vehicle[0].getStay is not a function". Quando uso o debugger para analisar o código, verifico que o objeto vehicle[0] possui todas as propriedades que eu inseri, menos os métodos, motivo pelo qual o erro deve estar aparecendo. O que estou fazendo de errado para que este método não esteja sendo reconhecido?
Código da classe:
export class Vehicle{
constructor(car = '', licensePlate = '', entryDate = '', entryHour = '', dailyRate = ''){
this.car = car
this.licensePlate = licensePlate
this.entryDate = entryDate
this.entryHour = entryHour
this.dailyRate = dailyRate
}
/*This method gets the stay in minutes of a given Vehicle object.*/
getStay (){
const entry = getDate(this.entryDate, this.entryHour)
const exit = getDate(this.exitDate, this.exitHour)
const diff = Math.abs(entry.getTime() - exit.getTime())
const minutes = Math.ceil(diff / (1000 * 60))
return minutes
}
}
Código onde é chamado o método:
methods:{
setSelectedPlate(value){
this.selectedPlate = value
},
/*It sets the exit of the vehicle and defines the cost of the stay.*/
setExitData(date, time){
const tableOfPrices = JSON.parse(localStorage.getItem('prices'))
const vehicle = getVehicle(this.listOfVehicles, this.selectedPlate)
vehicle[0].exitDate = date
vehicle[0].exitHour = time
const stay = vehicle[0].getStay()
vehicle[0].totalCost = vehicle[0].getStayPrice(stay, tableOfPrices[1])
this.listOfVehicles[vehicle[1]] = vehicle[0]
localStorage.setItem('saveRecord', JSON.stringify(this.listOfVehicles))
}
}