У меня проблема с тем, чтобы мои динамические компоненты Angular запускали обнаружение изменений.
Я пытался следовать этому руководству по https://juristr.com/blog/2017/11/dynamic-angular-components-for-rendering-html/. Мне удалось показать динамические компоненты (да, я тоже использую листовку). Однако, когда я хочу обновить компонент (всплывающее окно) и использую следующие строки кода (ниже), это поле «данных» действительно обновляется новыми значениями, но компонент никогда не обновляет значения в представлении. Любая помощь с этим будет оценена.
updateIcon(markerLayer, color, i, sign?) {
console.info('icon updates');
const newNbOffset = this.elccMapLogicService.getPopupOffset(i, this.currentPopupOffset);
const newIcon = L.icon({
iconSize: [this.currentMarkerSize, this.currentMarkerSize],
iconAnchor: this.currentIconOffset,
iconUrl: 'assets/map_features/markers/sign-' + color + '.png',
popupAnchor: [-newNbOffset[0], newNbOffset[1]]
});
markerLayer.setIcon(newIcon);
if (sign) {
this.northBoundMarkerComponents.forEach(component => {
if (sign.plazaId === component.id) {
component.componentInstance.data = sign;
component.componentInstance.instance.cd.detectChanges();
}
});
}
markerLayer.getPopup().update();
}





Привет, Джеймс, не могли бы вы создать минимальный воспроизводимый пример в чем-то вроде StackBlitz?