如何在knockout中将上下文属性伪变量与字符串组合在一起

时间:2012-12-20 01:51:04

标签: knockout.js

我需要在foreach中添加一个attr,如下所示:

<input type="hidden" data-bind="value: url, attr: { name: 'test[' + $index + ']' }" />

我需要输出:

<input type="hidden" data-bind="value: url, attr: { name: 'test[' + $index + ']' }" name=test[0] />

但我得到的是:

<input type="hidden" data-bind="value: url, attr: { name: 'test[' + $index + ']' }" name="test[function d(){if(0<arguments.length){if(!d.equalityComparer||!d.equalityComparer(c,arguments[0]))d.H(),c=arguments[0],d.G();return this}b.r.Va(d);return c}"]/>

当我像这样使用$ index时:

<input type="hidden" data-bind="value: url, attr: { name:  $index }" />

它有效

<input type="hidden" data-bind="value: url, attr: { name: 'test[' + $index + ']' }" name=0 />

...但我需要将它与字符串结合起来。

1 个答案:

答案 0 :(得分:0)

您需要在$ index附加括号来评估它,即attr: { name: 'test[' + $index() + ']' }