I am facing an issue with *ngFor
. it'll adding parent div
element for each iterated element
body.component.html
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link" href="#" [class.active]="tab=='Home'" (click)="changeTab('Home')">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#" [class.active]="tab=='Products'" (click)="changeTab('Products')">Products</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#" [class.active]="tab=='Login'" (click)="changeTab('Login')">Login</a>
</li>
</ul>
<div [ngSwitch]="tab">
<div *ngSwitchCase="'Home'">Home</div>
<div *ngSwitchCase="'Products'" class="row">
<div *ngFor="let product of getProducts()">
<div class="card">
<div class="card-body">
<div class="card-title">{{ product.Name }}</div>
<div class="card-text">
<p>
{{ product.Description }}
</p>
</div>
</div>
</div>
</div>
</div>
<div *ngSwitchCase="'Login'">Login</div>
</div>
body.component.ts
import { Component, OnInit, SimpleChanges, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'app-body',
templateUrl: './body.component.html',
styleUrls: ['./body.component.css'],
})
export class BodyComponent implements OnInit {
tab='Home';
Products=[]; //Products Array
constructor() {
}
ngOnInit() {
}
changeTab(tab){
this.tab=tab;
}
getProducts(){
return this.Products;
}
}
How can I prevent it?