我是这个nativescript的新手。我不知道如何正确获取stacklayout id。我正在使用typescript处理Angular2。我试过下面的代码。我在命令提示符下面的issue
下面得到了这个。
JS:Error TypeError : Cannot set property 'visiblility' of undefined Context[object Object]
HTML
<StackLayout #target visibility="collapse" id ="stackLayout"> ..... </StackLayout>
单击按钮,我需要以编程方式显示stacklayout的可见性。
打字稿:
public stackLayout:StackLayout;
onTap(args: EventData) {
this.animate();
}
public animate() {
this.stackLayout.visibility = "visible" ;
}
答案 0 :(得分:4)
虽然您可以通过编程方式访问StackLayout(Google @ViewChild
),但重新调整代码可能会更容易(我忽略了不相关的部分):
HTML:
<StackLayout (tap)="stackTapped()" [visibility]="stackVisible ? 'visible' : 'collapsed'"></StackLayout>
或:
<StackLayout (tap)="stackTapped()" *ngIf="stackVisible"></StackLayout>
组件:
stackVisible = false;
stackTapped(): void {
this.stackVisible = true;
}