Показать сообщение отдельно
  #1 (permalink)  
Старый 15.02.2019, 17:29
Новичок на форуме
Отправить личное сообщение для stim644 Посмотреть профиль Найти все сообщения от stim644
 
Регистрация: 06.01.2019
Сообщений: 6

Цикл отрабатывает несколько раз
Всем привет. Столкнулся с проблемой, что цикл отрабатывает несколько раз. Сейчас привет пример в коде.
app.component.Html:
<div *ngFor="let item of offers1(); let i = index" >
<button type="button" class="btn btn-secondary" (click)="fetchOffer(2)" >edit</button>
</div>

Ts:
import { Component } from '@angular/core';
import { LogManagerService } from './_modules/LogginService/log-manager.service';
import {Router} from '@angular/router';
import {Offer} from './models/Offer';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'appspress-tracker-frontend';

  constructor(private logger: LogManagerService) {
    logger.debug('AppComponent initialized');
  }

  offers1() {
    this.logger.debug('offers log');
    const mockRepository = {
      getOffers: function () {
        return [
          new Offer(1, 'test1', ['RU', 'BR', 'IN']),
          new Offer(2, 'test2', ['GB']),
          new Offer(3, 'test3', ['RU']),
          new Offer(3, 'test3', ['RU']),
          new Offer(3, 'test3', ['RU'])
        ];
      }
    };
    return mockRepository.getOffers();
  }

  fetchOffer(id) {
    this.logger.debug('offers log');
  }
}


Т.е. метод offers1 вызывается по несколько раз, когда отображается компонент. Даже и не могу понять, в чем может быть проблема. Подскажете?
Ответить с цитированием