SetInput 및 Angular

3753 단어 angulartypescript
Cuando queremos ejecutar cierta acción al recibir cierta propiedad en el componente, he utilizado el ciclo de vidaOnChanges . Pero esto supone evaluar todos y cada uno de los cambios que suceden y tener que verificar si el cambio entrante es el que estamos esperando.

Este método corre cada que un Input() recibe información del componente padre.

에지. Espero un objeto tipo Persona. Pero no quiero que se evalúe cada cambio. Sólo saber cuando se hace el cambio al recibir person.

@Input() person: Person = new Person('', '', 0, 0, 0); 
@Input() year: number = 0;
@Input() month: number = 0;
@Input() lastName: string = '';


Esto se soluciona con SetInput . Requiere separar el person del input() .

person: Person = new Person('', '', 0, 0, 0); 


Al Input() se le agrega el set de los setters. Para que siempre que llegue información alInput() se ejecute el métodoset . De esa manera se mantiene controlado el cambio de person .

person: Person = new Person('', '', 0, 0, 0);

@Input()
  set changePerson(newPerson: Person) {
    this.person = newPerson;
  }

좋은 웹페이지 즐겨찾기