2017-02-24 6 views
4

나는 마크 업의 다음과 같은 부분이 있습니다참조 구성 요소의 변수는

<group-header [isOpen]="true"> 
    <div *ngIf="isOpen">{{'PRICE' | resource}}</div> 
</group-header> 

그룹 헤더의 템플릿은 다음과 같습니다 ISOPEN 같은 내 그룹 헤더 구성 요소에 정의되어

<div (click)="toggleGroups($event);"> 
    <ng-content></ng-content> 
</div> 

이 :

@Input() 
set isOpen(value: boolean) { 
    this._isOpen = value; 
} 

get isOpen() { 
    return this._isOpen; 
} 

분명히 내가 참조 할 수없는 isOpen (또는 그 문제에 대해서는 전혀) m 'PRICE'리소스가 표시되지 않습니다.

내 구성 요소의 필드를 기반으로 조건부로 내 렌더링 된 콘텐츠를 표시하는 방법이 있습니까?

희망이 모두 의미가 없습니다 ...

편집 문의하시기 바랍니다 경우 :

+0

'isOpen'에 대한'group-header' 구성 요소에 setter도 있습니까? – PierreDuc

+0

예. 업데이트 된 질문 :-) – CJe

답변

5

:-) @ PierreDuc의 의견에 따라 추가 세터를 당신은 GroupHeader 구성 요소를 참조하는 템플릿 변수를 사용할 수 있습니다

<group-header [isOpen]="true" #gh> 
    <div *ngIf="gh.isOpen">{{'PRICE' | resource}}</div> 
</group-header> 
+0

그것은 작동합니다! U 락 !!! 고마움 백만 :-) – CJe

+2

아 물론. 바보 나. 'isOpen'은 그룹 머리글 자체가 아닌'group-header'의 부모 구성 요소를 참조합니다. 'gh.'를 추가하면 그룹 헤더 구성 요소를 참조하십시오. – PierreDuc

+1

들으니 기쁩니다. 이것이 당신이 찾고있는 것인지 확신하지 못했습니다. –