在knockout.js 2.1.0中,在使用foreach绑定的模板中,可以通过$index()函数访问当前项的索引。在嵌套的foreach绑定中,有没有办法从模板访问$parent的索引?
假设我有一个这样的数据结构:
var application = {
topModel: [
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]}, // this has top:0 and sub:0
{subModel: [{'foo2':'foo2'}, { 'bar2':'bar2'}]} // this has top:0 and sub:1
},
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:1 sub:0
},
{
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:2 sub:0
{subModel: [{'foo':'foo'}, { 'bar':'bar'}]} // this is top:2 sub:1
},
...
]};
这样,我希望使用index: topModel-index subModel-index打印每个模型的路径,这样输出将类似于:
[0 0]
[0 1]
[1 0]
[2 0]
[2 1]
...
我已经使用foreach绑定了模型,但是我不知道如何在subModel的上下文中访问topModel的索引。下面的示例显示了我尝试过的一种方法,但它不起作用,因为我不知道如何访问$parent referrer的索引。
<!--ko foreach: topModel -->
<!--ko foreach: subModel -->
[<span data-bind="text: $parent.index()"></span>
<span data-bind="text: $index()"></span>]
<!--/ko-->
<!--/ko-->
应打印输出:0 1,0 2,1 0,1 1,1 2,2 0,2 1,...
https://stackoverflow.com/questions/10978551
复制相似问题