passando 2 valori di indice $ all’interno di ng-ripetizione annidata

Quindi ho una ripetizione nid inserita in un’altra ripetizione per creare un menu di navigazione. Su ogni

  • sul ciclo interno di ripetizione di ng ho impostato un ng-clic che chiama il controller pertinente per quella voce di menu passando l’indice $ per far sapere all’app di quale abbiamo bisogno. Tuttavia, ho bisogno di passare anche l’indice $ dall’esterno ng-repeat in modo che l’app sappia in quale sezione ci troviamo e in quale tutorial.

     
    • {{section.name}}
      • {{tutorial.name}}

    ecco un Plunker http://plnkr.co/edit/bJUhI9oGEQIql9tahIJN?p=preview

    Ogni ng-repeat crea un ambito figlio con i dati passati e aggiunge anche una variabile $index aggiuntiva in quell’ambito.

    Quindi, ciò che devi fare è raggiungere l’ambito genitore e utilizzare quell’indice $index .

    Vedi http://plnkr.co/edit/FvVhirpoOF8TYnIVygE6?p=preview

     
  • {{tutorial.name}}
  • La soluzione più elegante di $parent.$index sta usando ng-init :

     
    • {{section.name}}
    • {{tutorial.name}}

    Plunker: http://plnkr.co/edit/knwGEnOsAWLhLieKVItS?p=info

    Che dire dell’utilizzo di questa syntax ( date un’occhiata a questo plunker ). L’ho appena scoperto ed è davvero fantastico.

     ng-repeat="(key,value) in data" 

    Esempio:

     
    {{indexX}} - {{indexY}} - {{value}}

    Con questa syntax puoi dare il tuo nome a $index e differenziare i due indici.

    Solo per aiutare qualcuno che arriva qui … Non dovresti usare $ parent. $ Index perché non è sicuro. Se aggiungi un ng-se all’interno del ciclo, ottieni l’indice $ incasinato!

    Giusta direzione

      
    [{{rowIndex}} - {{columnIndex}}] [{{rowIndex}} - {{columnIndex}}]

    Controllare: plnkr.co/52oIhLfeXXI9ZAynTuAJ

    Quando si ha a che fare con oggetti, si vuole ignorare tanto quanto gli id ​​semplici.

    Se cambi la linea di clic con questo, penso che sarai sulla buona strada:

     
  • Inoltre, penso che potrebbe essere necessario cambiare

     class="tutorial_title {{tutorial.active}}" 

    a qualcosa di simile

     ng-class="tutorial_title {{tutorial.active}}" 

    Vedi http://docs.angularjs.org/misc/faq e cerca ng-class.

    Sto cercando di utilizzare la soluzione proposta da gonzalon. Ma non funziona nel mio caso. Voglio avere un suggerimento con più informazioni quando il mouse si trova sopra la cella della tabella che creo eseguendo il loop delle righe e delle celle.

    I valori cambiano quando si sposta il mouse sulle celle della tabella, ma i valori per riga e colonna sono sempre entrambi il numero di colonna.

     
    {{zone}}
    {{row[0]}} {{cell[1]}}