Knockout js绑定base64图像到图像标记

时间:2016-08-09 14:54:04

标签: javascript jquery knockout.js

我正在尝试使用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>

1 个答案:

答案 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>