Comment charger une image (et d'autres actifs) dans Angulaire 2 projet?
Je suis assez nouveau à Angulaires donc je ne suis pas certain de la meilleure pratique pour ce faire.
J'ai utilisé angulaires-cli et ng new some-project
pour générer une nouvelle application.
Dans il a créé un "images" dans le dossier "assets", dossier, alors maintenant, mon dossier d'images est src/assets/images
Dans app.component.html
(qui est à la racine de mon application), j'ai mis
<img class="img-responsive" src="assets/images/myimage.png">
Quand je fais ng serve
à la vue de mon application web, l'image ne s'affiche pas.
Quelle est la meilleure pratique pour charger des images dans Angulaire de l'application?
EDIT: Voir réponse ci-dessous. Mon vrai nom de l'image a été d'utiliser des espaces qui Angulaire n'aime pas. Quand j'ai enlevé les espaces dans le nom de fichier, l'image affichée correctement.
- oui, vous avez raison , vous avez donné à corriger la syntaxe du chemin d'accès de l'actif fodler, peut-être un problème avec votre nom d'incompatibilité, de vérifier si l'image est présente ou pas
- Certainement pas une non-concordance de nom, j'ai fini par créer un
public
dossier en dehors desrc
et l'affichage de l'image avec<img class="img-responsive" src="../../public/images/myimage.png">
- Il fixe. Mon vrai nom de fichier d'image il y avait des espaces, et pour quelque raison que ce soit Angulaire n'est pas comme ça. Quand j'ai enlevé les espaces à partir de mon nom de fichier,
assets/images/myimage.png
travaillé. - bon 🙂 btw, pas besoin de créer d'autres dossiers publics dans la mise à Jour de la cli ils ont déjà même nommé actifs.
- J'ai un problème similaire avec des fichiers avec d'autres extensions (p. ex.
.sgf
) je veux héberger ces fichiers et de les lier à eux à partir de l'application, mais apparemment simplement de les mettre dans leassets
dossier n'est pas assez. Des idées ?
Vous devez vous connecter pour publier un commentaire.
Je l'ai corrigé. Mon vrai nom de fichier d'image il y avait des espaces, et pour quelque raison que ce soit Angulaire n'est pas comme ça. Quand j'ai enlevé les espaces à partir de mon nom de fichier,
assets/images/myimage.png
travaillé.Dans mon projet, je suis à l'aide de la syntaxe suivante dans mon app.component.html:
ou
utilisez [src] comme l'expression d'un modèle lorsque vous liez une propriété à l'aide de l'interpolation:
est la même chose que:
Source: comment lier img src angulaire 2 dans ngFor?
Angulaires-cli comprend le dossier des actifs dans les options de compilation par défaut. J'ai eu ce problème lorsque le nom de mes images, il y avait des espaces ou des tirets.
Par exemple :
Si vous placez l'image dans les actifs/img dossier, alors cette ligne de code doit fonctionner dans vos modèles :
Si le problème persiste il suffit de vérifier si votre Angulaires-cli fichier de configuration et assurez-vous que vos actifs dossier est ajouté dans les options de compilation.
Étant spécifiques à Angular2 à 5, nous pouvons lier le chemin de l'image à l'aide de la propriété de liaison comme ci-dessous. Le chemin de l'Image est délimitée par des guillemets simples.
Exemple d'échantillon
<img [src]="'assets/img/klogo.png'" alt="image">
Normalement "app" est la racine de votre application -- avez-vous essayé
app/path/to/assets/img.png
?app
etassets
dossiers séparément en vertu de lasrc
dossier. (désolé, je ne suis pas sûr de savoir comment je suis censé le format de structure de dossier et des noms)1 . Ajoutez cette ligne dans le composant.
2 . ajoutez cette ligne dans votre classe de composant.
ajouter ce "imgname' dans le tag img src sur la page html.
<img src={{imgname}} alt="">