$parent的访问索引(按okckout.js表示)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (9)

在okckout.js2.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
    },
    ...
    ]};

在此之后,我希望使用索引打印每个模型的路径:Topmodel-索引子模型-索引,因此输出将类似于:

[0 0]
[0 1]
[1 0]
[2 0]
[2 1]
...

我已经使用foreach绑定了模型,但是我不知道如何在子模型的上下文中访问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,...

提问于
用户回答回答于

若要访问父对象的索引,请使用

$parentContext.$index()

而不是

$parent.index()
用户回答回答于

最简单的方法是下载Chrome的“剔除上下文”。这向您展示了哪些数据绑定到了哪个元素,并且还允许您看到该特定绑定元素的可用函数/变量

扫码关注云+社区