La mia domanda è simile a this one, ma invece di anteporre la riga, voglio aggiungerla.AngularJS - aggiungi riga dopo elemento nella direttiva
Questo non funziona:
app.directive('createTable', function ($compile) {
return {
link: function (scope, element, attrs) {
var contentTr = angular.element('<tr><td>test</td></tr>');
contentTr.parentNode.insertBefore(element, contentTr.nextSibling);
$compile(contentTr)(scope);
}
}
});
jqLite non ha insertAfter quindi se non stai usando jQuery devi usare .after invece. – Andrew
Domanda: perché è necessario scambiare gli elementi? Non sono chiaro perché non "funziona" solo se si aggiungono gli elementi da inserire nell'elemento corrente. – Claudiu
Lo scambio è necessario perché ogni riga della ripetizione esegue il rendering nella posizione originale (prima di tutte le righe che abbiamo già aggiunto). Quindi lo swap controlla solo se c'è una riga aggiunta dopo e la sposta prima della riga corrente. – noj