나는이 작업을 수행 할 수 있도록 몇 가지 규칙이나 제안하고 싶은 :하위 구성 요소에서 응용 프로그램 수준에서 경고를 표시하는 방법
나는 일이 일어나고있는 때 표시 할 응용 프로그램 수준에서 경고를 가지고 내 구성 요소 중 하나 (예 : 정보 저장 성공 또는 실패).
또한 표시 할 다른 텍스트를 보내려면 어떻게해야합니까? @ViewChild와 동등한 기능이 있습니까? 당신의 도움이
나는이 작업을 수행 할 수 있도록 몇 가지 규칙이나 제안하고 싶은 :하위 구성 요소에서 응용 프로그램 수준에서 경고를 표시하는 방법
나는 일이 일어나고있는 때 표시 할 응용 프로그램 수준에서 경고를 가지고 내 구성 요소 중 하나 (예 : 정보 저장 성공 또는 실패).
또한 표시 할 다른 텍스트를 보내려면 어떻게해야합니까? @ViewChild와 동등한 기능이 있습니까? 당신의 도움이
에 대한
덕분에 나는 Observable
과 Subject
함께 할 것입니다. 기본적으로 service
이 해당 구성 요소의 공유 모듈에 주입되어 상태를 공유해야합니다.
app (루트) 구성 요소는 public observable
서비스에 subscription
이됩니다. 그리고 모든 구성 요소는 subject
에 .next()
을 호출하여 해당 service
을 통해 상태를 설정합니다. observable
당신은 여기에 코드를 확인할 수 있습니다 subject.
의 값을 반환합니다 : https://angular.io/guide/component-interaction#parent-and-children-communicate-via-a-service
아이디어는 매우 유사하다.
그 코드에서 구독이 관리되는 방식은 꺼져 있습니다. 거대한 메모리 누수 – bryan60
'ngOnDestroy' 당신이'.unsubscribe' (또는 그 코드가 다른 곳에서 가장 잘 어울린다면) - 나는 그것을 언급하는 것을 잊었습니다. 그것은 내가 추측 한 유스 케이스에 달려있다. – DrNio
그것은 그 이상입니다. 모든 함수 호출에는 완전히 재귀가 필요하지 않습니다. 또한 구독 취소는 유스 케이스에 의존하지 않으며, 항상 그렇지 않으면 메모리 누출이 발생합니다. 필요하지 않은 유일한 경우는 자체 종결 관찰 결과입니다. – bryan60
하위 구성 요소에 서비스를 주입하십시오. 알람을 클립 구성 요소의 서비스로 전달합니다. 주제를 사용하여 서비스에서이 경고를 내 보냅니다. 또한 app 구성 요소에 서비스를 삽입하십시오. 앱 구성 요소에서 제목을 구독하고 알림이 수신 될 때마다 표시합니다. https://angular.io/guide/component-interaction#parent-and-children-communicate-via-a-service –
저는 서비스와 구성 요소를 간단하게 유지하기 위해 어떻게했는지 예제를 만들었습니다. https://github.com/angular-in-action/portfolio/tree/master/src/app/alert –
감사합니다. Jeremy. 당신의 모범은 제게 많은 도움을 주었고, Angular doc에 JB에게 감사드립니다! – David