Я создал канал для этого, поэтому мне не нужно создавать переменные внутри компонента, как вы это сделали.
import {Pipe, PipeTransform} from '@angular/core';
@Pipe({
name: 'imgURL'
})
export class ImgURLPipe implements PipeTransform {
transform(value: string): string {
return require('../../../images/' + value); // specify here a correct src to your folder with images
}
}
Чтобы сделать необходимые работы внутри компонентов или труб, добавьте это к вашим наборам:
declare var require: {
<T>(path: string): T;
(paths: string[], callback: (...modules: any[]) => void): void;
ensure: (
paths: string[],
callback: (require: <T>(path: string) => T) => void
) => void;
};
Внутри шаблона это выглядит так:
<img [src]="'myImage.png' | imgURL">
Не забудьте добавить объявление канала в ваш модуль.