1

我正在尝试使用 Angular 在 NativeScript 中开发一个小应用程序。我为每个选项卡使用了一个带有组件的 TabView。起初我使用 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变量为假,当我将其更改为真时,所有选项卡都会出现。但是在我将isAuthorized值改回 false 后,我收到了一个错误:

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

经过一点谷歌,我发现了这个错误报告,并在其中声明我不能使用 Angular 指令删除选项卡,只能以编程方式重新绑定所有选项卡。

我的问题来了。我不知道如何实例化可以以编程方式插入到 StackLayout 的 Angular 组件(主页、新闻、包、用户)。

4

0 回答 0