2014-10-09 86 views
0

属性的值,我有一个非常简单的文件,这使得像这样的铅笔图片:Knockout.js:更改可观察到的值不会改变HTML

define(['durandal/events', 'knockout'], function (events, ko) { 

    var pencilVM= function() { 
    this.pencilimagepath = ko.observable("img/pencil.png"); 
    }; 

    return pencilVM; 
}); 

和HTML:

<div> 
<img data-bind="attr: {src: pencilimagepath}" /> 
</div> 

现在,当我将图像的名称从pencil.png更改为someImg.png时,浏览器中呈现的最终html未更新。它依然保持为“pencil.png”

+0

你可以发布你的代码在哪里设置pencilimagepath吗? – nemesv 2014-10-09 06:25:01

+0

@nemesv我发布了设置pencilimagepath的js。 – s4san 2014-10-09 06:26:02

+0

你如何做更新:'vm.pencilimagepath(“新路径”)或'vm.pencilimagepage =“新路径”'? – Tuan 2014-10-09 06:33:50

回答

1

我认为浏览器缓存图像。

只需将时间戳添加到您的新图像源

var d = new Date(); 
this.pencilimagepath("img/someImg.png" + d.getTime()); 

希望有所帮助。

相关问题