2017-03-14 6 views
17

私はAngularにはかなり新しいので、これを行うのがベストプラクティスではないと思います。Angular 2プロジェクトでイメージ(およびその他のアセット)を読み込む方法は?

私は新しいアプリケーションを生成するためにangular-cliとng new some-projectを使用しました。それに

は今、私の画像フォルダが、私は

<img class="img-responsive" src="assets/images/myimage.png"> 
を置く(私のアプリケーションのルートです) app.component.htmlsrc/assets/images

で、「資産」フォルダ内の「画像」フォルダを作成しました

ng serve私のWebアプリケーションを表示すると、イメージは表示されません。

Angularアプリケーションで画像を読み込むためのベストプラクティスは何ですか?

編集:以下の回答を参照してください。私の実際のイメージ名はスペースを使っていましたが、Angularはそれが好きではありませんでした。ファイル名のスペースを削除すると、イメージが正しく表示されました。

+0

はい、あなたは、自分の名前の不一致に問題があるイメージは間違い –

+1

名前ではない存在であるかどうかをチェックかもしれない、あなたは資産fodlerから正しいパス構文を与え、正しいです不一致で、 'src'の外に' public'フォルダを作成し、 ''で画像を表示しました。 – user3183717

+0

修正しました。私の実際のイメージファイル名には空白があり、何らかの理由でAngularがそれを好まなかった。ファイル名からスペースを削除すると、 'assets/images/myimage.png'が機能しました。 – user3183717

答えて

14

私はそれを修正しました。私の実際のイメージファイル名には空白があり、何らかの理由でAngularがそれを好まなかった。ファイル名から空白を削除したとき、assets/images/myimage.pngが機能しました。

私はapp.component.htmlで次の構文を使用しています私のプロジェクトで
5

通常、「アプリケーション」はアプリケーションのルートです。app/path/to/assets/img.pngを試しましたか?

+0

angular-cliは 'app'と' assets'フォルダを 'src'フォルダの下に別々に置いています。 (申し訳ありませんが、フォルダーの構造と名前をどのようにフォーマットするのか分かりません) – user3183717

5

<img src="assets/img/1.jpg" alt="image"> 

または

<img src='http://mruanova.com/img/1.jpg' alt='image'> 

あなたがプロパティをバインドする際にテンプレート式として[ソース]を使用用いた補間:

<img [src]="imagePath" /> 

は同じです10

<img src={{imagePath}} /> 

出典:how to bind img src in angular 2 in ngFor?

+0

相対パスを使用しています。絶対パスを使用することは可能ですか? – Halil

+0

はい、私は自分の答えを編集しました。 – mruanova

+0

は、あなたのapp.component.htmlとassetsフォルダが同じレベルですか? – Halil

3

5にAngular2に固有なので、私たちは以下のように結合性を利用した画像のパスをバインドすることができます。イメージパスは単一引用符で囲まれています。

サンプル例

<img [src]="'assets/img/klogo.png'" alt="image">

+0

src = "assets/img/klogo.png"と[src] = "'assets/img/klogo.png'の違いは何ですか? – gdbj

+0

@gdbjここに答えがありますhttps://stackoverflow.com/questions/41426974/whats-better-to-use-in-angular-src-or-src –

+0

ですから、基本的に[src]を使ってモデルにバインドしますそのメソッドを使用してsrcを変更できるようにしたい場合 – gdbj

関連する問題