我正在尝试使用knockout js将图像绑定到HTML图像标记,它无法正常工作,我在数据库中有base64字符串,我从数据库中获取它,但它不适用于我下面是我的代码
//viewModel//
function ViewModel(data) {
self = this;
self.ImageBase64 = ko.observable(data.ImageBase64);
self.ImageType = ko.observable(data.ImageType);
}
//HTML//
<div data-bind="foreach:UsersImage">
<img data-bind="attr:{src: 'data:'+ImageType+'base64,'+ImageBase64}"/>
</div>
答案 0 :(得分:4)
最好使用计算函数并绑定单个ImageSrcName。它可能有助于更好地调试。
function ViewModel(data) {
self = this;
self.ImageBase64 = ko.observable(data.ImageBase64);
self.ImageType = ko.observable(data.ImageType);
self.ImageSrcName= ko.computed(function () {
return self.ImageType() + 'base64' + self.ImageBase64();
});
console.log(self.ImageSrcName());
}
HTML:
<div data-bind="foreach:UsersImage">
<img data-bind="attr:{src:ImageSrcName "/>
</div>