2017-02-24 103 views
4

我有以下片標記:參考分量可變

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

組報頭的模板看起來像這樣:

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

ISOPEN在像我的組報頭組件中定義這個:

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

get isOpen() { 
    return this._isOpen; 
} 

顯然我不能引用isOpen我想要的方式(或根本就是這個問題)爲m y'PRICE'資源永不顯示。

有沒有辦法讓我的ng內容呈現的內容有條件地顯示基於我的組件上的字段?

希望這一切纔有意義......如果不是請向

編輯:添加二傳手按@ PierreDuc的評論:-)

+0

你在'isOpen'的'group-header'組件中是否還有一個setter? – PierreDuc

+0

是的。更新的問題:-) – CJe

回答

5

您可以使用一個模板變量引用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

很高興收到。不知道這是你在找什麼。 –