Angular2 uygulamasındaki bir resim src etiketindeki öğelerimden birine göreli yolunu öğelerimdeki bir klasöre koymaya çalışıyorum. Bileşenimde "fullImagePath" olarak bir değişken ayarladı ve bunu şablonumda kullandım. Birçok farklı olası yolu denedim, ancak sadece resmimi çekemiyorum. Angular2'de Django'daki gibi bir statik klasöre göre her zaman özel bir yol var mı?Angular2'de görüntüler nasıl sunulur?
Bileşen
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() {
}
}
Ben de bu bileşeni olarak aynı klasöre resim koymak aynı klasörde şablona ve css beri çalışıyor yüzden emin değilim neden benzer bir göreli yol görüntü çalışmıyor. Bu, aynı klasördeki görüntü ile aynı bileşendir.
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>
uygulama ağacı * Ben boşluğunu src/assets
klasörüne
├── 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
Neden göreceli yol kullanmak istersiniz? Kökten başlayalım (i.e. 'this.fullImagePath = '/ assets/images/therealdealportfoliohero.jpg') –
Ne yazık ki işe yaramadı. Uygulama kökün nerede olduğunu nasıl biliyor? Proje kökü midir, yoksa css, görüntüler ve javascript gibi statik dosyalar için her zaman varlıklar mı? – JBT
Evet, gerçekten kurulumunuza bağlı. Benim için, varlıkları kod kısmından ayırdım (onlar için farklı yontma görevleri yaparak), böylece varlıkların tam olarak nerede olduğunu bileceğim. –