Cómo obtener diferentes niveles de $index en ngRepeat profundamente anidado
{
nombre: 'C++ desde el principio hasta el abandono',
autor: 'dreampapple',
libros :[
{nombre: 'github'},
{nombre: 'google'},
{nombre: 'nodejs'},
{nombre: 'react'}
]
},
{
nombre: 'Java desde el principio hasta Corriendo',
autor: 'huh da',
libros: [
{nombre: 'Sprite'},
{ nombre: 'Pepsi'},
{nombre: 'Cóctel'}
]
}
]
]
La solicitud actual es que necesito realizar un bucle en el appData anterior
{{item.name}} índice exterior :{{outerIndex}}
{{ item.author}}
{{v.name}} internalIndex:{{innerIndex}}
< li class="list-group-item">
Parte del controlador:
función
removeItem(outerIndex, insideIndex) {
vm.appData[outerIndex].books.splice(innerIndex, 1);
}
Podemos eliminarlo de el controlador Se inicia la función interna removeItem
Esta función tiene dos parámetros: externalIndex
e internalIndex
, donde externalIndex
significa el primero. uno en el bucle El índice $index
de la capa, internalIndex
representa el índice $index
de la segunda capa. Cada vez que se elimina un elemento, necesitamos saber qué elemento de qué objeto en el primer nivel del bucle se eliminó.
En la página, guardamos el $index de la primera capa del bucle a través de ng-init="outerIndex = $index"
y pasamos ng-init="innerIndex = $ index"
Guarda el $index del bucle de segundo nivel. Entonces todo lo que sigue es simple.
Si no entiendes bien lo que dije anteriormente, puedes intentar practicarlo tú mismo.
La siguiente es la parte del código fuente:
parte HTML
< título>1