Je suis assez nouveau dans Angular, donc je ne suis pas sûr de la meilleure pratique pour le faire.
J'ai utilisé angular-cli et ng new some-project
pour générer une nouvelle application.
Il a créé un dossier "images" dans le dossier "actifs", donc maintenant mon dossier d'images est src/assets/images
Dans app.component.html
(qui est la racine de mon application), je mets
<img class="img-responsive" src="assets/images/myimage.png">
Quand je fais ng serve
pour afficher mon application Web, l'image ne s'affiche pas.
Quelle est la meilleure pratique pour charger des images dans une application angulaire?
EDIT: Voir la réponse ci-dessous. Mon nom d'image réel utilisait des espaces, ce qu'Angular n'aimait pas. Lorsque j'ai supprimé les espaces dans le nom du fichier, l'image s'affichait correctement.
html
angular
angular-cli
user3183717
la source
la source
public
dossier en dehors desrc
et afficher l'image avec<img class="img-responsive" src="../../public/images/myimage.png">
assets/images/myimage.png
fonctionné..sgf
) Je veux héberger ces fichiers et les lier à partir de l'application, mais apparemment, simplement les mettre dans leassets
dossier ne suffit pas. Des idées ?Réponses:
Je l'ai corrigé. Mon nom de fichier image réel contenait des espaces, et pour une raison quelconque, Angular n'aimait pas ça. Lorsque j'ai supprimé les espaces de mon nom de fichier, cela a
assets/images/myimage.png
fonctionné.la source
Dans mon projet, j'utilise la syntaxe suivante dans mon app.component.html:
ou
utilisez [src] comme expression de modèle lorsque vous liez une propriété à l'aide de l'interpolation:
est le même que:
Source: comment lier img src dans angular 2 dans ngFor?
la source
Angular-cli inclut le dossier assets dans les options de construction par défaut. J'ai eu ce problème lorsque le nom de mes images avait des espaces ou des tirets. Par exemple :
Si vous placez l'image dans le dossier assets / img, cette ligne de code devrait fonctionner dans vos modèles:
Si le problème persiste, vérifiez simplement si votre fichier de configuration Angular-cli et assurez-vous que votre dossier de ressources est ajouté dans les options de construction.
la source
Étant spécifique à Angular2 à 5, nous pouvons lier le chemin de l'image en utilisant la liaison de propriété comme ci-dessous. Le chemin de l'image est entouré de guillemets simples.
Exemple d'exemple
<img [src]="'assets/img/klogo.png'" alt="image">
la source
Normalement, "app" est la racine de votre application - avez-vous essayé
app/path/to/assets/img.png
?la source
app
etassets
dossiers séparément sous lesrc
dossier. (désolé, je ne sais pas comment je suis censé formater la structure et les noms des dossiers)1 . Ajoutez cette ligne en haut dans le composant.
2. ajoutez cette ligne dans votre classe de composants.
ajoutez ce 'imgname' dans la balise img src sur la page html.
<img src={{imgname}} alt="">
la source
pour moi "je" était capital dans "Images". ce qui n'aimait pas non plus angular-cli. il est donc également sensible à la casse.
la source
Cela dépend toujours de l'emplacement de votre fichier html qui fait référence au chemin de la ressource statique (dans ce cas, l'image).
Exemple A:
Comme vous pouvez le voir, yourpage.html est à un dossier de la racine (dossier src), pour cette raison, il a besoin d'une quantité de ../ pour revenir à la racine, vous pouvez alors marcher jusqu'à l'image à partir de la racine:
Exemple B:
Ici, vous devez vous rendre dans l'arborescence par 2 dossiers:
la source