Próbuję umieścić względną ścieżkę do jednego z moich obrazów w moim folderze zasobów w znaczniku src obrazu w mojej aplikacji Angular2. Ustawiłem zmienną w moim komponencie na "fullImagePath" i użyłem tego w moim szablonie. Próbowałem wielu różnych możliwych ścieżek, ale po prostu nie mogę uzyskać obrazu. Czy w Angular2 istnieje specjalna ścieżka, która zawsze jest względna w stosunku do statycznego folderu, takiego jak w Django?Jak wyświetlać obrazy w Angular2?
Komponent
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-hero',
templateUrl: './hero.component.html',
styleUrls: ['./hero.component.css']
})
export class HeroComponent implements OnInit {
fullImagePath: string;
constructor() {
this.fullImagePath = '../../assets/images/therealdealportfoliohero.jpg'
}
ngOnInit() {
}
}
umieścić również obraz w tym samym folderze co tego składnika, więc od szablonu i CSS w tym samym folderze, pracuje nie jestem pewien, dlaczego podobny względna ścieżka do obraz nie działa. To jest ten sam komponent z obrazem w tym samym folderze.
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-hero',
templateUrl: './hero.component.html',
styleUrls: ['./hero.component.css']
})
export class HeroComponent implements OnInit {
fullImagePath: string;
constructor() {
this.fullImagePath = './therealdealportfoliohero.jpg'
}
ngOnInit() {
}
}
html
<div class="row">
<div class="col-xs-12">
<img [src]="fullImagePath">
</div>
</div>
aplikacja drzewo * Wyszedłem na zewnątrz folder modułów węzła, aby zaoszczędzić miejsce
├── README.md
├── angular-cli.json
├── e2e
│ ├── app.e2e-spec.ts
│ ├── app.po.ts
│ └── tsconfig.json
├── karma.conf.js
├── package.json
├── protractor.conf.js
├── src
│ ├── app
│ │ ├── app.component.css
│ │ ├── app.component.html
│ │ ├── app.component.spec.ts
│ │ ├── app.component.ts
│ │ ├── app.module.ts
│ │ ├── hero
│ │ │ ├── hero.component.css
│ │ │ ├── hero.component.html
│ │ │ ├── hero.component.spec.ts
│ │ │ ├── hero.component.ts
│ │ │ └── portheropng.png
│ │ ├── index.ts
│ │ └── shared
│ │ └── index.ts
│ ├── assets
│ │ └── images
│ │ └── therealdealportfoliohero.jpg
│ ├── environments
│ │ ├── environment.dev.ts
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── favicon.ico
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── styles.css
│ ├── test.ts
│ ├── tsconfig.json
│ └── typings.d.ts
└── tslint.json
Dlaczego chcesz użyć ścieżki względnej? Nie możemy ustawić go tak, aby uruchamiał się z katalogu głównego (np. 'This.fullImagePath = '/ assets/images/therealdealportfoliohero.jpg'') –
Niestety to nie działało. W jaki sposób aplikacja wie, gdzie znajduje się root? Czy jest to katalog główny projektu, czy też zawsze są to zasoby dla plików statycznych, takich jak css, obrazy i javascript? – JBT
Tak naprawdę to zależy od konfiguracji. Dla mnie oddzielam zasoby od części kodu (poprzez różne zadania dla nich), więc będę dokładnie wiedział, gdzie znajdują się te zasoby. –