Angular.JS - Como mover um objeto de uma lista (ng-repeat) para outra

Há pouco tempo tive um dilema de código em AngularJS para transferir um item de uma lista para outra, ambas usando a diretiva ngList.

O mais próximo que cheguei do desejado em minhas pesquisas foi na demonstração de Michalc, que consegue realizar o push e splice das listas dinamicamente, porém sem utilizar nRepeat, como na minha versão.

A resolução desse caso se deu com inclusão de uma array no evento que adiciona o novo item para a segunda lista:

    $scope.incluirFavoritos = function(disco) {
            var arr = [];
            if ($scope.discosFavoritos) arr = $scope.discosFavoritos;
            arr.push(disco);
            $scope.discosFavoritos = arr;
            $scope.discosDisponiveis.splice($scope.discosDisponiveis.indexOf(disco), 1);
        }
    

Desta forma consegui utilizar push e splice para manipular os objetos entre as relações e renderelizá-las pela diretiva nRepeat. Veja o exemplo abaixo:

Gostou do conteúdo? Compartilhe com os amigos!
Agradeço por sua leitura!

Envie um comentário caso tenha alguma dúvida ou sugestão 😉

Nenhum comentário:

Postar um comentário