2016-09-07 6 views
0

저는 Angular2를 처음 사용하고 (Angular1에 대한 경험이 없지만) 현재 작은 웹 사이트에서 작업 중입니다. 내가해야 할 일은 아주 간단합니다. AppComponent의 템플릿에는 언어 선택을위한 두 개의 버튼이 있습니다. 나 또한 경로를 가지고 있다고 가정 해 봅시다/제품, WS에서 검색된 제품 목록을 표시합니다 (http는 서비스를 통해 얻습니다). 언어 버튼 중 하나를 누르면 새로 고칠 제품 목록이 필요합니다. ProductsService 클래스에서 http.get 요청을 만들고 ProductsComponent 클래스에서 observable을 구독합니다. 하지만 어떻게 AppComponent에서 요청을 가져오고 ProductsComponent에서 여전히 구독을 수신합니까?Angular2 - 앱 구성 요소의 이벤트를 경로로 트리거하는 방법

도움이 되셨다면

답변

0

설명에 따르면 두 가지 작업을 수행 할 수 있습니다.

  • 변수에 ProductService 클래스

    import {ViewChild} from '@angular/core'; 
    export class AppComponent{ 
        @ViewChild(ProductComponent) ProductComponent; 
        public reloadProduct(): void { 
         this.ProductComponent.reloadProduct(); 
        } 
    } 
    
  • 스토어 제품 정보 AppComponent

    에 ViewChild로 ProductComponent를 추가합니다. 언어 버튼을 누르면 웹 서비스를 호출하고 새 제품을 가져 와서 ProductService 클래스 변수에 저장합니다. Angular는 ProductComponent에서 자동으로 변경 감지를 수행하고 업데이트 된 제품 목록을 표시합니다.

+0

답장을 보내 주셔서 감사합니다. 첫 번째 해결 방법 this.ProductComponent는 reloadProduct(); 두 번째 솔루션은 결과를 서비스의 ProductsComponent에 전달하지 않습니다. –

+0

구성 요소 정의의 지시문 목록에 ProductComponent를 추가 했습니까? –

+0

네, 그랬습니다. 그래도 작동하지 않았다 –

관련 문제