Acceder a variables del componente desde function


#1

Buenas tardes, estoy algo bloqueado con una tonteria.
Necesito poner una barra de progreso cuando realizo una carga de una imagen. El caso es que cuando intento modificar la variable que contabiliza la carga no puede acceder con el this. ¿Como puedo acceder a el?

this.$http.post(uploadDocumentoIdentidadUrl, formData, {
    headers: getHeaderMultimedia(),
    progress (e) {
      if (e.lengthComputable) {
        this.procesoCarga = (e.loaded / e.total) * 100;
      }
    }
  })
    .then(response => { ...

Se que no funciona porque estoy dentro de la función del progress y estoy usando el this para acceder a progresoCarga que esta declarado en el data. La pregunta es; ¿como accedo a una variable declarada en el data desde una función?

Gracias. Un saludo.


#2

Hola, usan los array functions:

progress: e => {
      if (e.lengthComputable) {
        this.procesoCarga = (e.loaded / e.total) * 100;
      }
    }
}

O guarda this en una variable en el parent scope:

const self = this

this.$http.post(uploadDocumentoIdentidadUrl, formData, {
    headers: getHeaderMultimedia(),
    progress (e) {
      if (e.lengthComputable) {
        self.procesoCarga = (e.loaded / e.total) * 100;
      }
    }
  })