【发布时间】:2018-10-15 07:26:59
【问题描述】:
我正在使用角度 6
我的要求
如果用户将鼠标悬停在该图像上,则在我的详细产品页面中有一个图像部分,它必须缩放。
问题
某些产品图片名称包含特殊字符,例如“、”、“-”。如果此符号包含表示该产品未显示。
代码
HTML
<mat-card *ngIf="zoomImage" class="zoom-viewer mat-elevation-z18" [ngStyle]="{'background-image': 'url(' + zoomImage + ')'}"></mat-card>
组件
public getProductById(id){
this.appService.getProductById(id).subscribe(data=>{
this.product = data;
this.image = data.images[0].medium.replace(/\s/g,'%20');
this.zoomImage = data.images[0].big.replace(/\s/g,'%20').replace(/'/g,'%20');
setTimeout(() => {
// .slice(1, 5)
this.config.observer = true;
});
});
}
我不知道这是什么错误,所以请帮我这样做。
【问题讨论】:
-
也许从你的文件名中删除引号?
-
this.image和this.zoomImage应该是 URL 吗?那你为什么要以这种错误的方式操纵它们中的字符呢?%20是普通空格字符的 URL 转义 - 不是 每个 空格字符,也不是'。也许您应该尝试正确的 URL 编码?encodeURIComponent -
我试过你的例子@op - zoomImage = "images/aa,bb-cc.png";它工作得很好。举个例子,zoomImage 是什么样子的。
标签: javascript angular angular5 angular6 angular-material-6