如何从TabView动态添加和删除标签?

时间:2018-04-15 14:17:15

标签: nativescript angular2-nativescript nativescript-angular

我正在尝试使用Angular在NativeScript中开发一个小应用程序。我使用了TabView,每个Tab都有一个组件。起初我使用Angular指令(* ngIf)来控制这些选项卡的可见性:

<TabView (selectedIndexChanged)="onSelectedIndexChanged($event)">
   <StackLayout *tabItem="{title: 'Kezdőlap'}">
      <Home></Home>
   </StackLayout>
   <ng-container *ngIf="loginService.isAuthorized">
      <StackLayout *tabItem="{title: 'Hírek'}">
         <News></News>
      </StackLayout>
      <StackLayout *tabItem="{title: 'Csomagok'}">
         <Packages></Packages>
      </StackLayout>
      <ng-container *ngIf="loginService.loggedInUser.role == Role.Admin">
         <StackLayout *tabItem="{title: 'Felhasználók'}">
            <Users></Users>
         </StackLayout>
      </ng-container>
   </ng-container>
</TabView>

首先,此 isAuthorized 变量为false,当我将其更改为true时,将显示所有选项卡。但在我将 isAuthorized 值更改为false后,我收到错误:

错误:视图未添加到此实例。查看:CommentNode(51)CurrentParent:undefined ExpectedParent:TabView(424)

在Google之后,我发现了这个BugReport并且在其中声明我无法删除带有Angular指令的Tabs,只能以编程方式重新绑定所有Tab。

这就是我的问题。我不知道如何实例化可以以编程方式插入StackLayout的Angular组件(Home,News,Package,Users)。

0 个答案:

没有答案