Bom, é por ai. Vou te passar aqui, uma solução (a ideia...) e você tenta implementar ai em Angular, sem precisar de grandes outros conceitos.
A ideia é o seguinte: você terá uma lista de fotos em $scope.fotos, assim como você aprendeu no curso certo?
Só que além dela, você terá $scope.foto que guardará a foto que será exibida no momento. Até ai tudo bem?
Então, assim que seu controller carregar..você busca as fotos do servidor e faz o seguite:
$scope.fotos = ...... aqui é o resultado da pesquisa, você já sabe fazer isso.
$scope.foto = $scope.fotos[0] // pega a primeira foto e joga para `$scope.foto`. CUIDADO, essa linha tem que ser executada no success que busca as fotos do servidor.
É $scope.foto
que vai estar associado a sua view para exibir a foto.
Daí, na mesma view que você exibe a foto, uma só, você colocado dois botões: "ANTERIOR" e "PROXIMO".
Esses botões chamaram, cada uma, uma ação no seu controller. Segue aqui um esboço do código:
$scope.anterior = function() {
var posicaoDaFotoAtual = $scope.fotos.indexOf($scope.foto);
posicaoDaFotoAtual--; pega a posição anterior
$scope.foto = $scope.fotos[posicaoDaFotoAtual];
}
$scope.proxima = function() {
var posicaoDaFotoAtual = $scope.fotos.indexOf($scope.foto);
posicaoDaFotoAtual++; pega a próxima posição
$scope.foto = $scope.fotos[posicaoDaFotoAtual];
}
É claro que o código não esta completo, se você ficar clicando em ANTERIOR a posição mínima não pode passar de 0, e se você clicar em PROXIMA a posição máxima não pode passar to tamanho do array da foto menos um. Toda vez que $scope.foto
mudar, a view será atualizada e a nova foto exibida.
A ideia aqui é mostrar uma prova de conceito. Copie seu projeto do Angular existente, abra principal.html
, remova a diretiva ng-repeat
e deixe apenas um painel.
Consegue pegar, em linhas gerais o que você será feito?
Quando conseguir, você pode usar a mesma estratégia para mostrar questões de provas, etc.
Espero ter ajudado lançado uma luz sob esse problema.