У меня проблема с получением динамических угловых компонентов для запуска обнаружения изменений.
Я пытался выполнить https://juristr.com/blog/2017/11/dynamic-angular-components-for-rendering-html/ этого урока.Мне удалось показать динамические компоненты (да, я также использую буклет).Однако, когда я хочу обновить компонент (всплывающее окно) и использую следующие строки кода (ниже), это поле «данных» обновляется новыми значениями, но компонент никогда не обновляет значения в представлении.Любая помощь с этим будет оценена.
updateIcon(markerLayer, color, i, sign?) {
console.log('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();
}