2017-02-24 84 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

很高兴收到。不知道这是你在找什么。 –