敲除“with”绑定,并使用数组索引访问器

时间:2013-10-15 13:55:03

标签: knockout.js

我正在尝试在淘汰赛中使用以下'with'binding:

<td data-bind="with: $data.tiers()[$parents[1].Index]">
    ...
</td>

但是我收到错误“Unexpected token”;“。如果我只使用$data.tiers()[0]它就可以了,我知道$parents[1].Index会计算出一个数字。这只是敲门的限制,你不能使用嵌套的索引访问器吗?

1 个答案:

答案 0 :(得分:1)

这是一个已知问题:ko.expressionRewriting.preProcessBindings failing at array expressions已在KO 3.0版中修复。

如果无法升级到3.0,可以在链接的github问题中找到可能的解决方法,因此您只需将表达式更改为:

<td data-bind="with: ($data.tiers()[$parents[1].Index])">
    ...
</td>

演示JSFiddle