Jestem całkiem nowy w Angular, więc nie jestem pewien, jaka jest najlepsza praktyka, aby to zrobić.
Użyłem angular-cli i ng new some-project
wygenerowałem nową aplikację.
W nim utworzono folder „images” w folderze „asset”, więc teraz jest folder „obrazy” src/assets/images
W app.component.html
(który jest katalogiem głównym mojej aplikacji) umieściłem
<img class="img-responsive" src="assets/images/myimage.png">
Kiedy robię, ng serve
aby wyświetlić moją aplikację internetową, obraz się nie wyświetla.
Jaka jest najlepsza praktyka ładowania obrazów w aplikacji Angular?
EDYCJA: Zobacz odpowiedź poniżej. Moja rzeczywista nazwa obrazu zawierała spacje, które Angular nie lubił. Kiedy usunąłem spacje w nazwie pliku, obraz był wyświetlany poprawnie.
html
angular
angular-cli
user3183717
źródło
źródło
public
folderu pozasrc
i wyświetleniu obrazu z<img class="img-responsive" src="../../public/images/myimage.png">
assets/images/myimage.png
zadziałało..sgf
) Chcę hostować te pliki i linkować do nich z aplikacji, ale najwyraźniej samo umieszczenie ich wassets
folderze nie wystarczy. Jakieś pomysły ?Odpowiedzi:
Naprawiłem to. Moja rzeczywista nazwa pliku obrazu zawierała spacje iz jakiegoś powodu Angularowi się to nie podobało. Kiedy usunąłem spacje z mojej nazwy pliku,
assets/images/myimage.png
zadziałało.źródło
W moim projekcie używam następującej składni w moim app.component.html:
lub
użyj [src] jako wyrażenia szablonowego, gdy wiążesz właściwość za pomocą interpolacji:
jest taki sam jak:
Źródło: jak powiązać img src w kątowej 2 w ngFor?
źródło
Angular-cli domyślnie dołącza folder zasobów do opcji kompilacji. Ten problem pojawia się, gdy nazwa moich obrazów zawiera spacje lub myślniki. Na przykład :
Jeśli umieścisz obraz w folderze asset / img, ten wiersz kodu powinien działać w twoich szablonach:
Jeśli problem nadal występuje, po prostu sprawdź, czy plik konfiguracyjny Angular-cli i upewnij się, że folder zasobów został dodany w opcjach kompilacji.
źródło
Będąc specyficznymi dla Angular2 do 5, możemy powiązać ścieżkę obrazu za pomocą powiązania właściwości, jak poniżej. Ścieżka obrazu jest ujęta w pojedyncze cudzysłowy.
Przykładowy przykład
<img [src]="'assets/img/klogo.png'" alt="image">
źródło
Zwykle „aplikacja” jest katalogiem głównym aplikacji - czy próbowałeś
app/path/to/assets/img.png
?źródło
app
iassets
foldery osobno wsrc
folderze. (przepraszam, nie jestem pewien, jak mam sformatować strukturę folderów i nazwy)1. Dodaj tę linię na górze komponentu.
2. dodaj tę linię do swojej klasy komponentów.
dodaj tę 'imgname' w tagu img src na stronie html.
<img src={{imgname}} alt="">
źródło
dla mnie „ja” było kapitałem w kategorii „Obrazy”. co również nie podobało się angular-cli. więc rozróżniana jest wielkość liter.
źródło
Jest to zawsze zależne od miejsca, w którym znajduje się plik HTML, który odnosi się do ścieżki zasobu statycznego (w tym przypadku obrazu).
Przykład A:
Jak widać, yourpage.html jest o jeden folder od katalogu głównego (folder src), z tego powodu potrzebuje jednej ilości ../, aby wrócić do katalogu głównego, a następnie możesz przejść do obrazu z katalogu głównego:
Przykład B:
Tutaj musisz przejść do drzewa według 2 folderów:
źródło