如何在 nativescript 中以编程方式获取 Stacklayout id
How to get the Stacklayout id programatically in nativescript
我是新手 nativescript.I 不知道如何获取堆栈布局 ID properly.I 正在使用打字稿处理 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" ;
}
虽然您可以通过编程方式访问 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;
}
我是新手 nativescript.I 不知道如何获取堆栈布局 ID properly.I 正在使用打字稿处理 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" ;
}
虽然您可以通过编程方式访问 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;
}