Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro - Aula 11 AngularJs

Após modificar o código para utilizar o serviço cadastroDeFotos e promise pattern, obtive erro no console ao clicar em editar (editar foto)

Error: [$injector:unpr] http://errors.angularjs.org/1.3.15/$injector/unpr?p0=cadastroDeFotoProvider%20%3C-adastroDeFoto%20%3C-%20FotoController at http://localhost:3000/js/lib/angular.min.js:6:417 at http://localhost:3000/js/lib/angular.min.js:38:7 at Object.d [as get] (http://localhost:3000/js/lib/angular.min.js:36:13) at http://localhost:3000/js/lib/angular.min.js:38:81 at d (http://localhost:3000/js/lib/angular.min.js:36:13) at e (http://localhost:3000/js/lib/angular.min.js:36:283) at Object.instantiate (http://localhost:3000/js/lib/angular.min.js:36:432) at http://localhost:3000/js/lib/angular.min.js:76:49 at link (http://localhost:3000/js/lib/angular-route.min.js:7:268) at $ (http://localhost:3000/js/lib/angular.min.js:70:197)

Já revisei o código algumas vezes e não consegui encontrar o erro, tentei fazer igual ao descrito na aula, mas, pelo visto deixei passar algo.

2 respostas

Bom dia!

É um erro na injeção do serviço. Verifique se importou o script com o caminho correto é de importou no main.js. aliás, cole o código de index.html, main.js, do serviço e do controller que usa o serviço para que possamos ver.

solução!

Opa Flávio obrigado por responder, consegui encontrar o erro, que estava no foto-controller.js, onde, por um erro de escrita, culpa do teclado do mal, declarei a dependência 'cadastroDeFoto' onde o correto é 'cadastroDeFotos' conforme o código abaixo.

foto-controller.js

angular.module('alurapic')
    .controller('FotoController', function($scope, recursoFoto, $routeParams, cadastroDeFoto) {

        $scope.foto = {};
        $scope.mensagem = '';

        if($routeParams.fotoId) {
            recursoFoto.get({fotoId: $routeParams.fotoId}, function(foto) {
                $scope.foto = foto; 
            }, function(erro) {
                console.log(erro);
                $scope.mensagem = 'Não foi possível obter a foto'
            });
        }

        $scope.submeter = function() {

            if ($scope.formulario.$valid) {
                cadastroDeFoto.cadastrar($scope.foto)
                .then(function(dados) {
                    $scope.mensagem = dados.mensagem;
                    if (dados.inclusao) $scope.foto = {};
                })
                .catch(function(erro) {
                    $scope.mensagem = erro.mensagem;
                });
            }
        };
    });

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software