하위 구성 요소 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
가 구성 요소 클래스의 공용 멤버 인지 확인하십시오 .