Wie werden Bilder in Angular2 bereitgestellt?

Ich versuche, den relativen Pfad zu einem meiner Bilder in meinem Assets-Ordner in einem Bild-Quellcode-Tag in meiner Angular2-App anzugeben. Ich habe eine Variable in meiner Komponente auf 'fullImagePath' gesetzt und diese in meiner Vorlage verwendet. Ich habe viele verschiedene mögliche Wege ausprobiert, aber ich kann mein Image einfach nicht verbessern. Gibt es in Angular2 einen speziellen Pfad, der immer relativ zu einem statischen Ordner wie in Django ist?

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() {
  }

}

Ich habe das Bild auch in denselben Ordner wie diese Komponente verschoben. Da die Vorlage und das CSS in demselben Ordner funktionieren, bin ich mir nicht sicher, warum ein ähnlicher relativer Pfad zum Bild nicht funktioniert. Dies ist dieselbe Komponente mit dem Bild im selben Ordner.

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>

app tree * Ich habe den Ordner node modules weggelassen, um Platz zu sparen.

├── 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

Antworten auf die Frage(10)

Ihre Antwort auf die Frage