2013-05-09 99 views
1

我用淘汰赛的无容器controlflow模板模板:使用基于字符串变量controlflow

<div data-bind="foreach: myData" style="margin-top: 10px;"> 
     <div> 
      <a href="#" data-bind="attr: {href: url}" target="_blank"> 
       <img src="http://www.google.com/s2/favicons?domain={{url}}" /> 
      </a> 
     </div> 
</div> 

获取网址进入href是工作,但我想在图片src再次调用url值。我想保留图像源的开始部分,并将网址添加到最后。如何使用Knockout模板执行此操作?

回答

3

对于这个简单的任务,您不需要任何额外的模板,因为KO可以让您在绑定中编写任何任意表达式,如字符串连接。

所以,你可以只是建立在attr您的网址右装订:

<div data-bind="foreach: myData" style="margin-top: 10px;"> 
    <div> 
     <a href="#" data-bind="attr: {href: url}" target="_blank"> 
      <img data-bind="attr: { 
       src: 'http://www.google.com/s2/favicons?domain=' + url()}" /> 
     </a> 
    </div> 
</div> 

注意:你需要写url()如果您url属性是ko.observable获取其绑定表达式中值。

然而更合适的解决办法是计算视图模型内的图像的URL,你将有你将与<img data-bind="attr: { src: imageUrl }"/>

绑定一个 imageUrl属性