如何在nativescript中以编程方式获取Stacklayout id

时间:2017-06-13 13:53:02

标签: typescript nativescript angular2-nativescript

我是这个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" ; 
}

1 个答案:

答案 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;
}