Búsqueda de sitios web

angular - ¿Cómo acceder a variables dentro de una función desde afuera en otra función en typescript?


En mi página HTML, en onchange, solo estoy llamando a un método pasando parámetros. Después de recuperar el valor, al hacer clic en otro botón estoy llamando a function2. Necesito usar la variable de la función en function2 en la misma clase. Estoy usando Angular 6 y TypeScript. Mi archivo ts se muestra a continuación.

 export class component extends Lifecycle {
  cc1: string;
  constructor (){}
  Function (cc1,cc2)
  {
   this.cc1 = cc1;
   // return cc1;
   }

  Function2 (){
      console.log(cc1);
    }
  }

¿Alguien puede ayudarme con esto?

Respuesta #1

usa la palabra clave this dentro de cualquier método para acceder a cualquier propiedad o método relacionado con la clase.

export class component extends Lifecycle {
    cc1: string;
    constructor() {
        super();
    }
    Function(cc1, cc2) {
        this.cc1 = cc1;
        // return cc1;
    }

    Function2() {
        console.log(this.cc1);
    }
}

Tienes que llamar a super si extiendes la clase

Respuesta #2

En Function2, usarías this.cc1 como se muestra a continuación (nota que renombré los parámetros pasados a Function1 para aclarar su diferencia con la variable a nivel de clase)

export class component extends Lifecycle {
  cc1: string;

  constructor () {
    super();
  }

  Function1 (_cc1, _cc2) {
    this.cc1 = _cc1;
  }

  Function2 () {
    console.log(this.cc1);
  }
}