вызовите метод внутри ngFor в моем html (angular6) - PullRequest
0 голосов
/ 15 ноября 2018

Я новичок в stackOverflow, не могу найти ответ на мой вопрос. Я пытаюсь использовать ngFor внутри ngFor. Можно ли вызвать метод внутри * ngFor: как то так:

    <div *ngFor="let nbStar of myMethod(skill.level)">

где myMethod использует данные из моего первого ngFor в качестве параметра для генерации массива чисел.

мой код:

<div *ngFor="let skill of skills">
        <div class="picture">
            <img src="{{skill.skillPicture}}"/>
        </div>  
      <div class="title-skill">
        <h3>{{skill.skillName | uppercase}} </h3>
        Niveau: 
        <div *ngFor="let nbStar of generateStarsArray(skill.level)">
           <i class="fas fa-star"></i>
        </div>
  </div>
</div>

Большое спасибо за любые подсказки.

1 Ответ

0 голосов
/ 15 ноября 2018

Да, вы можете использовать его.но убедитесь, что ваш метод всегда возвращает массив.

Для следующего шаблона

<div *ngFor="let skill of skills">
    <div class="picture">
        <img src="{{skill.skillPicture}}"/>
    </div>  
  <div class="title-skill">
    <h3>{{skill.skillName | uppercase}} </h3>
    Niveau: 
    <div *ngFor="let nbStar of generateStarsArray(skill.level)">
       <i class="fas fa-star"></i>
    </div>
  </div>
</div>

в методе component.ts generateStarsArray должно быть примерно так:

 public generateStarsArray(level): Array<any> {
     let stars = [];
     //---> some logic
     return stars;
 }
...