Javascript 动态图像路径未显示在Angular 7的[style.background image]属性中

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

我试图在我的Angular6项目中使用动态图像路径作为背景图像。 我尝试过使用[style.background image]&[style.background]甚至encodeURI来修复路径中的空格,也尝试过使用*ngIF,以便在加载后进行渲染

案例1:

imgPath是绝对路径,我将JSON数据的路径附加到它

HTML代码

    <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'])