powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Цикл отрабатывает несколько раз
4 сообщений из 4, страница 1 из 1
Цикл отрабатывает несколько раз
    #39774733
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Столкнулся с проблемой, что цикл отрабатывает несколько раз. Сейчас привет пример в коде.
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:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
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 вызывается по несколько раз, когда отображается компонент. Даже и не могу понять, в чем может быть проблема. Подскажете?
...
Рейтинг: 0 / 0
Цикл отрабатывает несколько раз
    #39775483
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто я столкнулся именно с этой проблемой когда не понял, почему у меня ангуляровское событие click не срабатывает, когда я нажимаю на кнопку edit, срабатывает событие и я проваливаюсь в шаблон конкретного офера, потом захожу через меню снова в шаблон список офферов и пытаюсь снова нажать на кнопку. Но событие не срабатывает во второй раз! Подскажите почему такое может произойти? Спасибо!
...
Рейтинг: 0 / 0
Цикл отрабатывает несколько раз
    #39775518
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stim644,

https://jsfiddle.net/c9qwgbz1/1/

Вот это по ссылке есть код, который каждый, кто хочет вам помочь может легко запустить и увидеть результат его работы. Достаточно просто перейти по ссылке. Это должны были сделать вы.

А теперь, что у вас не работает?
...
Рейтинг: 0 / 0
Цикл отрабатывает несколько раз
    #39776105
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лысый дядькаstim644,

https://jsfiddle.net/c9qwgbz1/1/

Вот это по ссылке есть код, который каждый, кто хочет вам помочь может легко запустить и увидеть результат его работы. Достаточно просто перейти по ссылке. Это должны были сделать вы.

А теперь, что у вас не работает?

В общем была проблема из за <ng-selectize [config]="tagsConfig" [(ngModel)]="tagsVal"></ng-selectize> в шаблоне offer. Как только убираю этот компонент, так сразу же работает переход без описанных выше глюков.
Или же если все же хочется использовать данный компонент, то можно попробовать вызвать detach:
offers() {
this.logger.debug('offers');
this.cd.detach();
return this.mockRepository.getOffers();
}

Полезная ссылка: https://habr.com/ru/post/327004/
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Цикл отрабатывает несколько раз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]