代码之家  ›  专栏  ›  技术社区  ›  Hely Saul Oberto

*关于ng内容角元素的ngFor

  •  1
  • Hely Saul Oberto  · 技术社区  · 7 年前

    我想知道是否可以创建的某些元素的迭代。我需要对ng内容的每个元素使用不同的css类,所以我需要对ng内容的每个元素进行循环。有可能吗?

    <sys-tab [tabs]="['Principal', 'Complementar']">
      <sys-tab-content [num]="1">
        <sys-panel header="Dados Gerais">
          <sys-input-text header="Nome" tam="1"></sys-input-text>
    
          <sys-input-mask header="CNPJ"></sys-input-mask>
          <sys-input-mask header="CNES"></sys-input-mask>
          <sys-input-mask header="Telefone"></sys-input-mask>
    
          <sys-input-text header="Email"></sys-input-text>
        </sys-panel>
      </sys-tab-content>
      <sys-tab-content [num]="2">
        <sys-input-text header="Email"></sys-input-text>
      </sys-tab-content>
    </sys-tab>
    

    如你所见,我将数字传递给孩子,这样我就可以识别出谁是他,但我想创建一个到ng coontent的循环,这样我就可以为每个“sys tab content”添加不同的类

    2 回复  |  直到 7 年前
        1
  •  3
  •   Neo    6 年前

    使用动态ngTemplate的简单列表示例

    应用程序。组成部分输电系统

    import { Component } from '@angular/core';
    
    @Component({
      selector: 'my-app',
      templateUrl: './app.component.html'
    })
    export class AppComponent  {
      items = [ { name: 'abc' }, { name: 'cdf' }, { name: 'fgh' } ];
    }

    <nu-list [itemTpl]="itemTpl" [items]="items"></nu-list>
    <ng-template let-item #itemTpl> 
        <h1>{{item.name}}</h1>
    </ng-template>

    列表组成部分输电系统

    import { Component, Input } from '@angular/core';
    
    @Component({
      selector: 'nu-list',
      templateUrl: './list.component.html'
    })
    export class ListComponent  {
    
      @Input() itemTpl;
      @Input() items;
    
    }

    <ng-container *ngFor="let item of items">
      <ng-container *ngTemplateOutlet="itemTpl; context: {$implicit: item}"></ng-container>
    </ng-container>

    示例链接: https://stackblitz.com/edit/angular-list-ngtemplateoutlet

        2
  •  0
  •   Hely Saul Oberto    7 年前

    有两种方法可以在child中添加“ngFor”或迭代。