Estoy tratando de usar Vue con mecanografiado pero obtengo un error que dice que mi variable miembro no está definida.

import { Component, Vue, Prop } from 'vue-property-decorator';
import UploadApi from './UploadApi';
import ApiConfig from '../../api/api.config';

@Component
export default class UploadCard extends Vue {
  uploading = false;

  private uploads: Array<Upload> = [];

  private api: UploadApi = new UploadApi(ApiConfig.get());

  constructor() {
    super();
    this.getUploads();
  }

  private getUploads() {
    // const loading = this.$store.state.vs.loading();
    // mimic http request
    console.log(this.$data);
    console.log(this.uploading);
    this.api.getUploads().then((response) => {
      console.log(response);
    });

Aquí, por ejemplo, dice this.api no está definido, ¿alguien sabe sobre esto?

0
sunalive 28 ago. 2020 a las 16:41

1 respuesta

La mejor respuesta

En lugar de utilizar un constructor, utilice los métodos de ciclo de vida para hacer tareas de configuración. Por ejemplo, reemplace su constructor con created o mounted:

created() {
    this.getUploads();
}

Consulte los documentos para más detalles.

1
Noah Stahl 28 ago. 2020 a las 14:21