这里我想设置placehoder图像,为此我使用commonurl路径(this.commonUrlObj.commonUrl)而不是({http://localhost:3000),因此如何在角度6中使用commonurl设置背景图像中的图像?
category.component.html
<img [src]="url" style="height: 400px;width: 400px" [ngStyle]="{'background-image': getUrl()}">
category.component.ts
getUrl(){
return "url('this.commonUrlObj.commonUrl/placeholder.jpg')";
}
common-class.ts
export class CommonClass {
constructor(public commonUrl : string = 'http://localhost:3000'){};
}
答案 0 :(得分:3)
getUrl(){
return "url('"+this.commonUrlObj.commonUrl+"'/placeholder.jpg')";
}
答案 1 :(得分:1)
也许我不明白您的问题,但这是您想做的吗?
getUrl(){
return `url('${this.commonUrlObj.commonUrl}/placeholder.jpg')`;
}
答案 2 :(得分:0)
您不能为图片添加背景图片。您可以做的是包装div
并为其提供背景:
getUrl(){
return "url('"+this.commonUrlObj.commonUrl+"'/placeholder.jpg')";
}
<div [ngStyle]="{'background-image': getUrl()}>
<img [src]="url" style="height: 400px;width: 400px">
</div>
答案 3 :(得分:0)
根据Angular.io中的文档,您可以为ngStyle提供一个ObjExp。这样。
TS
// Not in the question but don't use a constructor to define vars
private commonUrl: string = 'localhost:3000'; // Could have this as an env variable
getBackground() {
return {'background-image': `url(${this.commonUrl}/placeholder.png)`};
}
HTML
<div [ngStyle]="getBackground()"></div>