2016-02-25 44 views
0

动态IMG SRC我有这样的代码:knockoutjs数据绑定基于指数

<tbody> 
         <tr data-bind="foreach: EffectQuantityTotal"> 
          <td> 
           <span> 
            <img data-bind="attr: { src: $root.ProductEffectImages() ? $root.ProductEffectImages()[0].ImageSrc : '../images/style2/pose-select-placeholder.png' }, click: $root.Paste" 
             width="120" /> 
           </span> 
          </td> 
         </tr> 
        </tbody> 

$ root.ProductEffectImages()将是无效的,直到实际点击事件“粘贴”将无法进行。占位符图像显示正常,但我想在点击功能完成后更新图像。该对象被正确创建,但我想获得每个effectquantitytotal的第n个imageurl,例如,如果我有EffectQuantityTotal为3,对于每个值,我将创建图像占位符,并在选择ImageUrl之前占位符将显示,但一旦图像被选中,需要设置适当的图像网址。

所以不是因为我有测试现在$ root.ProductEffectImages(硬编码)[0] .ImageSrc 0将与第n个值来代替,可能是通过使用$指数而不是0

任何想法如何我能做到吗? 感谢

+0

而不是'[0]',尝试'[$指数() - 1 ]'? –

+0

@RoyJ目前该数组(ProductEffectImages)为空,直到注入第一个对象。我如何避免异常? – Laziale

+0

我认为条件会避免这个例外。 –

回答

0

observableArray一个空数组初始化,而不是null,即使你通过它null。创建后,您可以将其指定null,它会真的有值,那么,你的条件将允许您使用

src: $root.ProductEffectImages() ? $root.ProductEffectImages()[$index() - 1].ImageSrc : ...