El índice de acceso de $ parent en knockout.js

En knockout.js 2.1.0, en una plantilla que utiliza el enlace foreach, puede acceder al índice del elemento actual a través de la function $ index (). En un enlace foreach nested, ¿hay alguna forma de acceder al índice de $ parent desde una plantilla?

Digamos que tengo una estructura de datos como esta:

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

Con esto, quiero imprimir la ruta a cada model, usando índices: [topModel-index subModel-index], para que la salida sea algo así como:

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

He enlazado los models usando foreach, pero no puedo entender cómo acceder al índice de topModel en el context del subModel. El siguiente ejemplo muestra un enfoque que he intentado, pero no funciona, ya que no puedo entender cómo acceder al índice de $ parent referrer.

 <!--ko foreach: topModel --> <!--ko foreach: subModel --> [<span data-bind="text: $parent.index()"></span> <span data-bind="text: $index()"></span>] <!--/ko--> <!--/ko--> 

Debe imprimir: 0 1, 0 2, 1 0, 1 1, 1 2, 2 0, 2 1, …

2 Solutions collect form web for “El índice de acceso de $ parent en knockout.js”

para acceder al índice del uso del object principal

 $parentContext.$index() 

más bien que

 $parent.index() 

La forma más sencilla de averiguarlo es download el "context de nocaut" para Chrome. Esto le muestra qué datos están vinculados a qué elemento y también le permite ver las funciones / variables disponibles para ese elemento en particular. Es una herramienta increíble para situaciones como estas.

  • ¿Cómo puedo retrasar la transición de página en jQuery Mobile hasta que los datos de la página estén listos?
  • knockoutjs no puede aplicar enlaces múltiples veces al mismo elemento
  • javascript: datos de sorting personalizados devueltos
  • ¿Por qué no puedo usar Datepicker dos veces en la misma tabla?
  • knockoutjs obtiene el elemento (real bound) a través del evento click
  • El uso de Kendo Grid con la plantilla de filas knockoutjs hace imposible el filtrado
  • ¿Es posible el comportamiento de animation numérica con la observación de nocaut?
  • Angular.js y ASP.NET MVC 4
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.