Может ли Angular 4 иметь динамический ng-контент с динамическим выделением

Может угловой 4 иметь динамический нг-контент. Могут ли некоторые обеспечить способ удаления статического slide1,slide2, чтобы он мог быть реализован *ngFor

Содержание дочернего компонента:

<ion-slides [pager]="true" #Slides (ionSlideDidChange)="onSlideChanged()">
<ion-slide class="slide1">
  <ng-container  *ngIf="!isMenuOpen">
     <ng-container *ngTemplateOutlet="slide1"></ng-container>  
  </ng-container>
</ion-slide>
<ion-slide class="slide2">
    <ng-container  *ngIf="!isMenuOpen">
       <ng-container *ngTemplateOutlet="slide2"></ng-container>
    </ng-container>
</ion-slide>
</ion-slides>
<ng-container *ngIf="isMenuOpen">
    <div class="sidemenu-open-slide slide1" *ngIf="isMenuOpen && slideActiveIndex==0">
       <ng-container *ngTemplateOutlet="slide1"></ng-container>
    </div>
    <div class="sidemenu-open-slide slide2" *ngIf="isMenuOpen && slideActiveIndex==1">
       <ng-container *ngTemplateOutlet="slide2"></ng-container>
    </div>
    <div class="side-menu-slider-pagination">
       <button class="swiper-pagination-bullet" *ngFor="let page of [0,1]" style="margin: 0 5px;" [ngClass]="{'swiper-pagination-bullet-active':slideActiveIndex==page}"></button>
    </div>
</ng-container>
<ng-template #slide1>
   <ng-content select="[slide1]"></ng-content>
</ng-template>
<ng-template #slide2>
   <ng-content select="[slide2]"></ng-content>
</ng-template>

В моем родительском компоненте

 <customslider slides="2">
    <div slide1>

    </div>
    <div slide2>

    </div>
 </customslider>

Я просто хочу, чтобы мой случай ниже был обработан

<customslider slides="N">
    <div slide1>

    </div>
    <div slide2>

    </div>
    <div slideN>
        nth slide
    </div>
 </customslider>

1 ответ

Извините, вы хотите что-то подобное?

import { Component, OnInit,Input } from '@angular/core';

@Component({
  selector: 'app-div-for',
  template:`
  <div *ngFor="let i of items" [ngClass]="'slide'+i">
  div-for works!
</div>`,
  styleUrls: ['./div-for.component.css']
})
export class DivForComponent implements OnInit {

  items:any[];
  @Input('cont') set cont(value:number){ //get input to fill "items"
    console.log(value);
    this.items=[];
    for (let i=0;i<value;i++)
       this.items.push(i);
  }
  constructor() { }
  ngOnInit() {}
}

в другом компоненте, который вы используете, например

<app-div-for [cont]="5"></app-div-for>
Другие вопросы по тегам