2016-11-18 54 views
0

我从外部来源(Java ee服务器上的qrcode)创建图像。当我的Angular2应用程序更新图像的数据时,服务器上的所有内容都会更新,但不会在角度应用程序中刷新生成的图像。我目前正在做一个zone.run,但它似乎没有刷新图像,如果整个页面刷新(如果我放置一个location.reload),一切都很好。任何人都没有如何从外部来源正确刷新图像?角度2图像不刷新区域运行

模板都有这样的:

 <img [src]=url /> 

组件具有这样的:

 this.zone.run(()=>{ 
      this.url = QRURL + this.selectedProduct.id; 
     }); 

QRURL是包含服务器的URL,执行图像的生成常数。

+0

你不需要自己运行区域。它可能是一个缓存问题,或者是一些关于语法的问题(''应该是'',请给'this.zone.run'提供一些代码,我们需要更多的上下文 – Maxime

+0

如果是缓存问题,请尝试更改你的网址为:'this.url = QRURL + this.selectedProduct.id +'?'+ new Date()。getTime();'这样,你的浏览器就不会碰到某个缓存(因为时间戳)。 – Maxime

回答

0

引号并没有解决它,但马克西姆的第二评论。我不断的读取y有一个查询字符串,所以我只是添加日期的东西作为它的另一个参数,这就做了诀窍,我能够剥离zone.run。最终的变量如下所示:

 this.url = QRURL + this.selectedProduct.id + '&date=' + new Date().getTime(); 

谢谢!