hur man binder img src i angular 6 med TypeScript 4.1.2
Jag använder Angular6 och TypeScript4.1.2 och försöker ladda en bild från app.component.ts och binda den i app.component.html, men bilden visas inte. Det konstiga är att när jag försöker ladda den direkt i app.component.html syns bilden. Snälla hjälp mig att förstå vad jag saknar i app.component.ts
app.component.ts :
declare function require(path:string):string;
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'angular-ui';
imagesrc = require('../assets/images/myimage.png');
}
app.component.html :
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">
<img src={{imagesrc}} height="26"/>
<!-- <img src="../assets/images/myimage.png" height="26"/> -->
</a>
Test
</div>
</div>
</nav>
Jag har försökt nästan alla kombinationer för att komma åt myimage.png i app.component.ts men ingen av dem fungerade
imagesrc = require('../assets/images/myimage.png');
imagesrc = require('/assets/images/myimage.png');
imagesrc = require('assets/images/myimage.png');
Jag har försökt använda autokomplettering också, men Visual Studio Code visar inga förslag efter ../assets/images/
Och sökvägen till resurser är redan inställd i Angular.json
"assets": [
"src/favicon.ico",
"src/assets"
],
Svar #1
Jag tror inte att du behöver require-anropet. Försök binda sökvägen direkt
Kontroller
export class AppComponent {
title = 'angular-ui';
imagesrc = '../assets/images/myimage.png';
}
Mall
<img [src]="imagesrc" height="26"/>
Svar #2
Det här fungerar alltid
<img [src]="imagesrc" height="26"/>
