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 hago una copy profunda de un object knockout que fue creado por el plugin de mapeo?
  • ¿Cómo crear una suscripción observable knockout que se active solo una vez?
  • ¿Puedo aplicar Vinculaciones a más de un elemento DOM usando Knockout?
  • Knockout.js "seleccionar todas" casillas de verificación
  • Configure el enrutador secundario para componer los modules en la window gráfica del enrutador padre html binding
  • Tasa que limita todos los observables por defecto
  • Documento jQuery listo con Knockout.js
  • Knockoutjs: function de invocación del componente principal del componente secundario
  • knockoutjs obtiene el elemento (real bound) a través del evento click
  • Cambio de evento de cuadro de input de knockout.js - pasa valor antiguo
  • Los enlaces dynamics de Knockout.js no hacen clic
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.