Conforme orientação do curso, adicionei o array com os artefatos que o controller vai precisar ,exatamente como o sugerido no exercício 8, porém ao executar o código novamente o controller deixa de funcionar.
No console do navegador exibe o seguinte erro:
Error: [ng:areq] http://errors.angularjs.org/1.3.15/ng/areq?p0=FotoController&p1=not%20aNaNunction%2C%20got%string
at http://localhost:3000/js/lib/angular.min.js:6:417
at Rb (http://localhost:3000/js/lib/angular.min.js:19:510)
at sb (http://localhost:3000/js/lib/angular.min.js:20:78)
at http://localhost:3000/js/lib/angular.min.js:75:396
at link (http://localhost:3000/js/lib/angular-route.min.js:7:268)
at $ (http://localhost:3000/js/lib/angular.min.js:70:197)
at B (http://localhost:3000/js/lib/angular.min.js:59:255)
at g (http://localhost:3000/js/lib/angular.min.js:51:335)
at http://localhost:3000/js/lib/angular.min.js:50:444
at http://localhost:3000/js/lib/angular.min.js:52:322
Assim o código funciona
angular.module('alurapic').controller('FotoController',
function($scope, cadastroDeFotos, recursoFoto, $routeParams) {
$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) {
cadastroDeFotos.cadastrar($scope.foto)
.then(function(dados) {
$scope.mensagem = dados.mensagem;
if (dados.inclusao) $scope.foto = {};
})
.catch(function(dados) {
$scope.mensagem = dados.mensagem;
});
}
};
});
e Assim não:
angular.module('alurapic').controller('FotoController',
['$scope', 'cadastroDeFotos', 'recursoFoto', '$routeParams'],
function($scope, cadastroDeFotos, recursoFoto, $routeParams) {
$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) {
cadastroDeFotos.cadastrar($scope.foto)
.then(function(dados) {
$scope.mensagem = dados.mensagem;
if (dados.inclusao) $scope.foto = {};
})
.catch(function(dados) {
$scope.mensagem = dados.mensagem;
});
}
};
});
se removo o array meu código funciona perfeitamente novamente.
Neste caso o que posso fazer pra melhorar meu código assim como sugerido no exercício?