Angular - ładowanie plików .svg zaraz po załadowaniu dokumentu

Angular - ładowanie plików .svg zaraz po załadowaniu dokumentu
darkrat
  • Rejestracja:około 8 lat
  • Ostatnio:około 4 lata
  • Postów:203
0

Mam przypadek, w którym po zaznaczeniu radiobuttona podstawiany jest obrazek .svg, a na drugim pojawia się puste pole. Wygląda to tak:

Kopiuj
handleChange(option: QuestionnaireModel, event: any): void {
        if (this.isRadioButtonSelected(option, event, true)) {
            document.getElementById(`img-true-${option.controlName}`).setAttribute('src', './assets/ic_radio_ok.svg');
            document.getElementById(`img-false-${option.controlName}`).setAttribute('src', './assets/ic_radio_select.svg');
        } else if (this.isRadioButtonSelected(option, event, false)) {
            document.getElementById(`img-false-${option.controlName}`).setAttribute('src', './assets/ic_radio_ok.svg');
            document.getElementById(`img-true-${option.controlName}`).setAttribute('src', './assets/ic_radio_select.svg');
        }
    }

Wszystko działa poprawnie, problem w tym, że na Chrome po pierwszym naciśnięciu któregokolwiek radiobuttona po załadowaniu strony zajmuje ok. 1 s podstawienie tej grafiki. Później wszystko odbywa się w rzeczywistym tempie. Podejrzewam, że problem wynika z tego, że w momencie podstawienia źródła obrazka ten asset jest po prostu ładowany. Ma ktoś pomysł, jak to rozwiązać? Czy może da się załadować te assety już w momencie, jak powstaje komponent? Czy może przyczyna leży gdzieś indziej?

czysteskarpety
czysteskarpety
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Piwnica
  • Postów:7697
0

Po tych preloaderach najłatwiej rozpoznać js-owe apki :)


darkrat
no rzuca się to nieco w oczy:)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.