如何在单击按钮时有条件地按角度加载组件

时间:2019-06-14 09:50:27

标签: javascript angular

我是Angular的新手。

我想通过单击按钮有条件地在组件中加载子组件。单击按钮时,它应重新渲染相应的子组件。

HTML代码

<div class="tab">
  <button class="tablinks" (click)="onTabClick('0')">Transmit</button>
  <button class="tablinks" (click)="onTabClick('1')">Published</button>
  <button class="tablinks" (click)="onTabClick('2')">Bulk Transmit</button>
</div>
<div>
  <app-sports  *ngIf="tabIndex === 0"></app-sports>
  <app-movies  *ngIf="tabIndex === 2"></app-movies>
</div>

TS文件

tabIndex = 2 ;


  onTabClick(index){
        this.tabIndex = index;
   }

3 个答案:

答案 0 :(得分:2)

您已将字符串作为参数传递,但在制表符中检查数字。您可以检查stackblitz链接:

check stackblitz link here

<div class="tab">
  <button class="tablinks" (click)="onTabClick(0)">Transmit</button>
  <button class="tablinks" (click)="onTabClick(1)">Published</button>
  <button class="tablinks" (click)="onTabClick(2)">Bulk Transmit</button>
</div>
<div>
  <app-sports  *ngIf="tabIndex === 0"></app-sports>
  <app-movies  *ngIf="tabIndex === 2"></app-movies>
</div>

答案 1 :(得分:0)

您在onTabClick()中将0,1,2作为字符串传递,而在.ts文件中,您将tabIndex作为整数。

答案 2 :(得分:0)

您正在传递参数0,1,2,例如字符串,并使用===检查条件 它也在检查类型(表示字符串或数字)

解决方案

  1. 地点==由===
    插入 (或)
  2. 将argumens的“ 1”更改为1,将“ 2”更改为2