如何在 Extjs 中刷新图像?

How to refresh image in Extjs?

我有一张图片,其 src 属性 绑定到 viewModel:

xtype: 'image',
height: 35,
width: 35,
bind: {
    src: '{photo_path}',                        
}

其中 photo_path 固定 link 到用户的个人资料照片,假设 123.jpg。如何在用户更改个人资料照片时刷新图像(link保持不变)?

我试图将 viewModel 中的数据更改为一些临时 link,然后恢复为原始 link,以便 'refresh' 图像,但它没有工作。

我注意到图像已兑现,因为更改照片后,当我在浏览器中显示图像 link 时,它显示旧照片,直到浏览器刷新。

C/P 来自文档,你没有说哪个工具包所以如果是经典的话。

var changingImage = Ext.create('Ext.Img', {
    src: 'http://www.sencha.com/img/20110215-feat-html5.png',
    width: 184,
    height: 90,
    renderTo: Ext.getBody()
});

// change the src of the image programmatically
changingImage.setSrc('http://www.sencha.com/img/20110215-feat-perf.png');

所以,使用setSrc方法来改变图像。

您可以尝试添加一些虚拟 GET 参数以避免浏览器缓存。像这样:

url = 'YOUR_IMAGE_URL' + '?_dc=' + (new Date())*1;