Angular는 부모 구성 요소에서 모든 자식 구성 요소의 상태를 가져옵니다.

Rajiv

'Parent'와 'Child'구성 요소가 있는데 Parent에서 자식을 추가하거나 제거 할 수 있습니다. 그래서 아이들은 역동적입니다. 부모에서 아래와 같이 루프에서 자식 구성 요소를 렌더링했습니다.

Parent.component.html

<child *ngFor="let child of children" [data]="child"></child>

이제 자식 구성 요소에서 IsValid ()라는 함수를 추가하여 자식이 유효한지 여부를 확인했습니다.

Child.component.ts

IsValid()
{
  //check validity of component and return true if valid else false
}

부모 구성 요소에는 '저장'이라는 버튼이 있습니다. 모든 하위 항목이 유효하면 해당 버튼을 활성화해야합니다. 그렇지 않으면 해당 버튼을 비활성화해야합니다.

따라서 부모에서 각 자식 구성 요소에 대해 자식 구성 요소 IsValid 함수를 호출 한 다음 유효성 결과를 확인하고 저장 버튼에 적용하여 활성화 또는 비활성화하는 방법이 필요합니다.

내가 시도한 것

1. 하위에서 상위로 유효하거나 잘못된 결과를 내보냈으며 하위 결과가 유효하지 않은 경우 저장 버튼을 비활성화했습니다.

그러나 여기에 문제는 : 하나의 자식을 추가하면 유효하게 만들면 저장 버튼이 활성화됩니다. 이제 유효하지 않은 다른 자식을 추가 했으므로 저장 버튼이 비활성화되지만 유효하지 않은 자식 저장 단추를 제거하면 유효한 자식이 하나만 있어도 비활성화됩니다. IsValid 이벤트는 현재 자식이 변경되는 경우에만 발생하기 때문입니다.

2. 나는 이것과 같은 것을 사용할 수 있습니다

<child #varName></child>

@ViewChild('varName') childElement;

그런 다음 부모로부터 전화 할 수 있습니다.

childElement.IsValid() 

하지만 루프에서 어린이를 렌더링했기 때문에 루프에서 고유 한 이름을 지정하는 방법과 ts 파일의 고유 한 HTML 태그에 대한 참조를 추가하는 방법이 있습니다.

여기에 케이스를 만들었습니다 SlackBlitz

어떤 도움을 주시면 감사하겠습니다. 감사

매니쉬 한

@angular/core제공 ViewChildren하고 QueryList아마 도움이 될 것입니다.

<child #varName></child>
import { ViewChildren, QueryList } from '@angular/core';
@ViewChildren("varName") customComponentChildren: QueryList<YourComponent>;

this.customComponentChildren.forEach((child) => { let retult = child.IsValid(); })

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

반응 js는 부모 구성 요소에서 자식 구성 요소의 상태를 변경합니다.

Reactjs는 자식(hookReducer 사용)에서 부모 구성 요소로 상태 값을 가져옵니다.

ReactJS는 자식 구성 요소에서 부모 상태를 수정합니다.

Angular 2+는 부모 구성 요소에서 자식 구성 요소의 함수를 호출합니다.

기능 구성 요소의 부모에서 자식 상태 구성 요소를 변경하는 방법

Angular에서 부모 구성 요소의 변수를 자식 구성 요소에 어떻게 노출합니까?

부모에서 자식 구성 요소의 상태 변경 (React를 사용하는 독점적 클릭 가능한 상자 구성 요소)

ReactJS 부모 구성 요소 상태가 자식 구성 요소 상태에 의해 재정의됩니다.

반응에서 자식 구성 요소에서 부모 구성 요소로 상태를 전달하는 방법

부모 구성 요소의 상태 업데이트는 ReactJS에서 자식 구성 요소의 재 마운트를 보장합니까?

ReactJs의 자식 구성 요소에서 부모 구성 요소의 상태를 추적하는 방법은 무엇입니까?

React에서 자식 구성 요소의 상태를 사용하여 부모 구성 요소를 업데이트하는 방법은 무엇입니까?

React : 부모의 자식 구성 요소 상태 가져 오기

React Hooks: 자식 구성 요소에서 부모 구성 요소로 상태를 보낼 수 없습니다.

자식 상태를 부모 구성 요소로 가져오는 방법

Angular 6의 부모 구성 요소에서 자식 구성 요소의 메서드를 호출하는 방법

부모 구성 요소에서 자식 구성 요소의 상태를 사용하는 방법은 무엇입니까?

자식 구성 요소에서 양식의 데이터를 가져와 부모 구성 요소로 다시 전달하는 방법은 무엇입니까?

Reactjs는 모든 상태를 부모 구성 요소에 결합합니다.

부모의 상태를 자식 구성 요소에 전달하는 방법

angular2의 자식 구성 요소에서 부모 구성 요소를 업데이트하는 방법

Angular 2의 자식 구성 요소에서 부모 구성 요소를 업데이트하는 방법

자식 구성 요소는 부모로부터 상태를 가져오지 않습니다.

자식 구성 요소에서 부모 구성 요소의 elementRef 가져 오기

부모 또는 자식 구성 요소의 반응 상태

Angular-부모 구성 요소에서 동적 자식 구성 요소로 이벤트를 내 보냅니다.

Vue는 자식 구성 요소에서 부모 구성 요소로 메서드를 노출합니다.

부모 구성 요소를 사용하여 한 자식 구성 요소의 소품을 다른 자식 구성 요소에 전달하는 방법

자식 구성 요소의 상태를 업데이트 한 후 부모 구성 요소의 setState 메서드를 호출하는 방법은 무엇입니까?