итерация по списку с использованием карты не работает должным образом в Angular - PullRequest
0 голосов
/ 30 марта 2020

У меня есть компонент, называемый боковой панелью. Когда я создаю экземпляр компонента, я добавляю его в список SubjectBehaviour, а также в список строк с только идентификаторами каждого экземпляра. При нажатии кнопки я получаю все списки идентификаторов и звоню в службу для каждого идентификатора в этом списке, чтобы получить некоторую информацию о каждом экземпляре. Тем не менее, первая итерация извлекает свои данные, но не для второго идентификатора, она получается неопределенной, почему это происходит? Я что-то не так делаю?

@HostListener('click')
onMouseEnter() {
    const ids = this.sidebarService.sidebarId;
    ids.map(id => {
        const barSliding = this.sidebarService.getSliding(id);
        console.log(id);
        console.log(barSliding);
        if (this.claName === 'trigger-sidebar' && barSliding) {
            console.log('inside if');
            this.sidebarService.setNavBtnClicked(id, true);
            const animMode = this.sidebarService.getMode(id);
            this.sidebarService.slideAnimationMode(animMode);
        }
    });
}

Ниже приведу картинку с журналом консоли. Первый журнал с массивом регистрируется в компоненте, чтобы показать, что на самом деле есть две боковые панели, но при нажатии кнопки значение имеет только первый идентификатор, тогда как второй не определен.

t

...