我正在构建一个NS angular2应用程序,并且遇到了TabView组件的默认行为问题。我不希望它在创建组件时预先加载所有数据。我怎样才能防止这种行为的发生。我只想在用户单击某个选项卡时加载该选项卡的数据。
这是我的选项卡视图:
<TabView #tabview (selectedIndexChange)="onIndexChanged($event)" class="tab-view" sdkToggleNavButton>
<StackLayout *tabItem="{title: 'Summary', iconSource: 'res://ic_summary'}" >
<summary></summary>
</StackLayout>
<StackLayout *tabItem="{title: 'Dash', iconSource: 'res://ic_dashboard'}">
<dashboard></dashboard>
</StackLayout>
<StackLayout *tabItem="{title: 'My players', iconSource: 'res://ic_players'}" >
<myplayers></myplayers>
</StackLayout>
<StackLayout *tabItem="{title: 'Details', iconSource: 'res://ic_details'}" >
<playerdetails></playerdetails>
</StackLayout>
</TabView>我能够在the视图的相同.ts中调用onIndexChanged事件,但是我必须通知摘要、仪表板、内部组件。
需要通知的组件示例:
@Component({
selector: “summary”,
templateUrl: ‘summary.component.html’
})
export class SummaryView extends View {
constructor(args:Page){
super();
}
}发布于 2018-04-20 14:06:50
就像他说的,你可以
@Component({
selector: “summary”,
templateUrl: ‘summary.component.html’
})
export class SummaryView extends View {
public tabSelectedIndex: number = n; ...}和模板
<TabView [(ngModel)]="tabSelectedIndex" ...>
<StackLayout *tabItem="{title: 'Summary', iconSource: 'res://ic_summary'}" >
<summary *ngIf="tabSelectedIndex === n"></summary>
</StackLayout>https://stackoverflow.com/questions/45497446
复制相似问题