I got the data from firebase but when I try to set the data to the local var, I'm getting the following error msg "Uncaught TypeError: Cannot set property 'personasD' of null" could you guide me on what I'm doing wrong?... I guess that Im not initializing the data but I do not know how or wether that is the problem..
export default {
name: 'CChartPieExample',
components: { CChartPie, CChartPie },
data: () => {
return{
de: null,
ye: null,
mo: null,
da: null,
datos: null,
losRios: 0,
devueltos: 0,
otra:0,
total: 0,
totalP: 0,
personasLR: 0,
personasO:0,
personasD: 0,
losRiosHoy: 0,
otrosHoy: 0,
devuetosHoy: 0,
totalHoy: 0,
perLRHoy: 0,
perOtHoy:0,
perDevHoy:0,
perTotHoy:0
}
},
created(){
this.obtenerData();
},
methods: {
obtenerData(){
this.de = new Date()
this.ye = new Intl.DateTimeFormat('en', { year: 'numeric' }).format(this.de)
this.mo = new Intl.DateTimeFormat('en', { month: 'short' }).format(this.de)
this.da = new Intl.DateTimeFormat('en', { day: '2-digit' }).format(this.de)
var currentDate = new Date();
currentDate.setHours(0,0,0,0);
let totalPer = 0;
let persLR = 0;
let persLRH = 0;
let totalPerH = 0;
let locLosrios = 0;
let locPerLR = 0;
let locLRhoy = 0;
let locPerLRhoy = 0;
let locdev = 0;
let locDevHoy = 0;
let perDevHoy = 0;
let locTotaHoy = 0;
let locPerTotHoy = 0;
let locTotal = 0;
let perD = 0;
db.ref('control').on('value', function (snapshot) {
var objeto = snapshot.val();
for (var propiedad in objeto) {
//this.datos = objeto[propiedad]
//this.datos.id = doc.id
console.log(objeto[propiedad].destino)
var fechaEntrada = objeto[propiedad].horaEntrada
let myDate = new Date(fechaEntrada.seconds * 1000)
myDate.setHours(0,0,0,0);
var persBD = 0;
const parsed = Number.parseInt(objeto[propiedad].personas);
if (Number.isNaN(parsed)) {
persBD = 0;
}else{
persBD = parsed;
}
if(objeto[propiedad].destino == 'XIV Región de Los Ríos'){
locLosrios = locLosrios+1;
locPerLR = locPerLR + persBD;
persLR = persLR + persBD;
if(myDate.valueOf() == currentDate.valueOf()){
locLRhoy = locLRhoy+1,
locPerLRhoy = locPerLRhoy + persBD;
persLRH = persLRH + persBD;
}
}
if(objeto[propiedad].ingreso == 'Es Devuelto'){
locdev = locdev + 1;
perD = perD + persBD;
console.log(perD);
if(myDate.valueOf() == currentDate.valueOf()){
locDevHoy= locDevHoy+1
perDevHoy = perDevHoy + persBD
}
}
if(myDate.valueOf() == currentDate.valueOf()){
console.log('mismafecha');
totalPerH = totalPerH + persBD;
locTotaHoy = locTotaHoy+1;
locPerTotHoy = locPerTotHoy + persBD;
}
locTotal = locTotal+1;
totalPer = totalPer + persBD
//console.log(objeto[propiedad].patente)
}
this.personasD = perD;
this.losRios = locLosrios;
this.personasLR = locPerLR;
this.losRiosHoy = locLRhoy;
this.perLRHoy= locPerLRhoy;
this.devueltos = locdev;
this.devuetosHoy = locDevHoy;
this.perDevHoy = perDevHoy;
this.totalHoy = locTotaHoy;
this.perTotHoy = locPerTotHoy;
this.total = locTotal;
this.totalP = totalPer;
this.otra = locTotal-locLosrios;
this.personasO = totalPer - persLR;
console.log(totalPerH + " " + persLRH);
this.otrosHoy = locTotaHoy - locLRhoy
this.perOtHoy = totalPerH - persLRH;
console.log(this.total + " " + this.totalHoy);
});
// this.getCount(objeto[propiedad])
},
},