하위 구성 요소 Anguar에 값을 전달하는 방법은 무엇입니까? [닫은]

Nov 18 2020

내부에 자식이있는 부모 구성 요소가 있습니다.

 <app-documents-mode-register [id_files]="getCheckedCheckboxesValues('id_file')"></app-documents-mode-register>

방법 getCheckedCheckboxesValues은 다음과 같습니다.

public getCheckedCheckboxesValues(property: string): number[] {
    return this.checkboxes
        .toArray()
        .slice(1)
        .filter((element: any) => element.value)
        .map((element) => element.application[property]);
}

그래서 나는 [id_files]자식 구성 요소 에 전달하려고 시도 하지만 Input 매개 변수로 함수를 전달하는 권장되지 않는 방법을 읽었습니다. 그것을 개선하는 방법?

app-documents-mode-register구성 요소는있다onPush

답변

2 triaton Nov 18 2020 at 20:45

이와 같이 파이프를 정의 할 수 있습니다.

@Pipe({ name: 'checkedValues' })
export class CheckedValuesPipe implements PipeTransform {
  transform(checkboxes: any, property: string): number[] {
    return checkboxes.toArray().slice(1).filter((element: any) => 
  element.value).map((element) => element.application[property]);
  }
}

그리고 템플릿에서 파이프를 사용하십시오.

<app-documents-mode-register [id_files]="checkboxes | checkedValues : 'id_file'"></app-documents-mode-register>

checkboxes가 구성 요소 클래스의 공용 멤버 인지 확인하십시오 .