Knockout.js 敲除图像src绑定问题

Knockout.js 敲除图像src绑定问题,knockout.js,Knockout.js,我已将存储图像名称保存在数据库中,并将图像文件保存在本地文件夹中 我过去常把图像装订起来 <img width="16px" height="16px" data-bind="attr:{src: PhotoName}" /> 在html中,它是show <img src="http://sitename.com/Controller/action/imagename.extension"/> 但我需要 <img src="http://sitenam

我已将存储图像名称保存在数据库中,并将图像文件保存在本地文件夹中 我过去常把图像装订起来

<img width="16px" height="16px" data-bind="attr:{src: PhotoName}"  />

在html中,它是show

<img src="http://sitename.com/Controller/action/imagename.extension"/>

但我需要

<img src="http://sitename.com/imagefolder/imagename.extension"/>

你知道我该怎么解决这个问题吗??
提前感谢。

您的问题与kncokout.js无关。如果您的
PhotoName
仅包含
imagename.extension
,则需要手动构建图像路径,以便正确显示图像

因此,您需要直接在绑定中创建正确的路径:

<img data-bind="attr:{ src: '/imagefolder/' + PhotoName }" />

注意:如果您的
PhotoName
是一个
ko.observable
,那么您需要编写
src:'/imagefolder/'+PhotoName()


或者将此逻辑移到viewmodel中,例如创建链接生成的计算属性,或者在创建viewmodel时将正确的url分配给
PhotoName
等。

PhotoName包含哪些内容?仅
imagename.extension
?为什么您认为这是一个令人震惊的问题?你在PhotoName中存储了什么?数据库和图像中只有一个照片名和扩展名在folderI中,我是新加入knockoutjs的,我必须面对这种情况。。我刚刚找到了一个简单的解决办法<代码>解决方案只是../use before path,然后您就可以得到所需的结果。尽管这个问题是三年前提出来的,我还是想和大家分享。1我补充了一点:但它不起作用。但是现在它工作了,因为“()”那么input type=“file”呢?注释是否只适用于包含值的情况?在我的例子中,
即使可以观察到
resultImage
,也可以正常工作。@ValentinHeinitz是的,注意事项仅适用于绑定中有一些复杂表达式(如字符串串联)的情况。如果只直接绑定到可观察属性,则不需要编写
()