knockoutjs 数据绑定动态 img src 基于索引
knockoutjs data-bind dynamically img src based on index
我有这个代码:
<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() 将是空的,直到实际的点击事件 'Paste' 不会完成。占位符图像显示正常,但我想在点击功能完成后更新图像。该对象已正确创建,但我想为每个 effectquantitytotal 获取第 n 个图像 url,因此例如,如果我的 EffectQuantityTotal 为 3,我将为每个值创建图像占位符,并且在选择 ImageUrl 之前,占位符将会显示,但是一旦选择了图像,就需要设置正确的图像 url。
因此,与我现在测试硬编码不同 $root.ProductEffectImages()[0].ImageSrc
0 将替换为第 n 个值,可能是使用 $index 而不是 0。
一个 observableArray
初始化为一个空数组,而不是 null
,即使你传递它 null
。在你创建它之后,你可以给它赋值 null
然后它就会真正拥有那个值,你的条件将允许你使用
src: $root.ProductEffectImages() ? $root.ProductEffectImages()[$index() - 1].ImageSrc : ...
我有这个代码:
<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() 将是空的,直到实际的点击事件 'Paste' 不会完成。占位符图像显示正常,但我想在点击功能完成后更新图像。该对象已正确创建,但我想为每个 effectquantitytotal 获取第 n 个图像 url,因此例如,如果我的 EffectQuantityTotal 为 3,我将为每个值创建图像占位符,并且在选择 ImageUrl 之前,占位符将会显示,但是一旦选择了图像,就需要设置正确的图像 url。
因此,与我现在测试硬编码不同 $root.ProductEffectImages()[0].ImageSrc
0 将替换为第 n 个值,可能是使用 $index 而不是 0。
一个 observableArray
初始化为一个空数组,而不是 null
,即使你传递它 null
。在你创建它之后,你可以给它赋值 null
然后它就会真正拥有那个值,你的条件将允许你使用
src: $root.ProductEffectImages() ? $root.ProductEffectImages()[$index() - 1].ImageSrc : ...