Javascript 动态图像路径未显示在Angular 7的[style.background image]属性中
我试图在我的Angular6项目中使用动态图像路径作为背景图像。 我尝试过使用[style.background image]&[style.background]甚至encodeURI来修复路径中的空格,也尝试过使用*ngIF,以便在加载后进行渲染 案例1: imgPath是绝对路径,我将JSON数据的路径附加到它 HTML代码Javascript 动态图像路径未显示在Angular 7的[style.background image]属性中,javascript,angular,angular7,encodeuricomponent,Javascript,Angular,Angular7,Encodeuricomponent,我试图在我的Angular6项目中使用动态图像路径作为背景图像。 我尝试过使用[style.background image]&[style.background]甚至encodeURI来修复路径中的空格,也尝试过使用*ngIF,以便在加载后进行渲染 案例1: imgPath是绝对路径,我将JSON数据的路径附加到它 HTML代码 <a routerLink="/article/{{news.id}}"> <img [style.backgr
<a routerLink="/article/{{news.id}}">
<img [style.background-image]="'url(' + imgPath + news.encodedImage.encocoded_primary_image + ')'">
</a>
输出
如图所示,“s/absorbica%20(2).png”中有括号,这可能是导致错误的原因,但不确定。
其他情况
我尝试过使用[style.background]
,[ngStyle]
,将图像标记更改为div标记
但我无法理解为什么很少有图像在渲染,也很少有图像没有渲染,尽管路径生成正确,我在“新建”选项卡中打开了它们,确认了这一点
任何帮助都将不胜感激
背景图像中:url
接受字符串。您必须将图像路径添加到字符串中李>
“'url(\''+imgPath+news.encodedImage.encoded\u primary\u image+'\')”
请提供StackBlitz中的演示。我不确定我是否理解一切正确。哪些文件不工作,哪些不工作?有模式吗?括号不应该太麻烦angular@Joniras现在问题解决了。。你可以查看下面的解决方案,它对我有效。。escape()已被弃用,encodeURI()可能会在一些特殊字符中舍弃您,以便更好地将图像路径设置为字符串。
'encocoded_primary_image': encodeURI(res['primary_image']['file_path'])