Tworzę aplikację Angular przy użyciu Angular 4 i CLI. Próbuję dodać widget wyszukiwania SkyScanner do jednego z moich komponentów.Dynamicznie ładuj zewnętrzny plik javascript z Angular komponentu
ramach realizacji wymaga dodania nowego skryptu zewnętrzne:
<script src="https://widgets.skyscanner.net/widget-server/js/loader.js" async></script>
nie jestem pewny poprawnej sposób odwoływać się do tego pliku. Jeśli dodaję skrypt do mojego pliku index.html, widget nie zostanie załadowany, dopóki nie zostanie wykonane pełne odświeżenie strony. Zakładam, że skrypt próbuje manipulować DOM przy obciążeniu, a elementy nie istnieją podczas działania skryptu.
Jaki jest prawidłowy sposób ładowania skryptu tylko po załadowaniu komponentu zawierającego widget Skyscanner?
To wygląda jak najlepsza odpowiedź do tej pory. Dziękuję Ci. Czy wywołanie loadScript powinno znajdować się w konstruktorze, czy byłoby lepiej w ngOnInit? – psych
Nie próbowałem z ngOnInit, ale jeśli działa z INIT, to najlepsze miejsce do umieszczenia tam –
, ale ładowanie tego pliku dostaje opóźnienie, więc moje funkcje są renderowane bez tej wiedzy. a później załadowany bez użycia. Jak rozwiązać ten problem. –