Provavelmente vai ser alguma besteira, mas já olhei 1000 x , espero que um olhar diferente encontre meu erro.
FotoController:
angular.module('alurapic')
.controller('FotoController', function ($scope, $http, $routeParams) {
$scope.foto = {};
$scope.mensagem = "";
if ($routeParams.fotoId) {
$http.get('/v1/fotos/' + $routeParams.fotoId)
.success(function(foto) {
$scope.foto = foto;
})
.error(function(erro) {
console.log(erro);
$scope.mensagem = 'Não foi possível obter a foto'
});
}
$scope.submeter = function () {
if ($scope.formulario.$valid) {
$http.post('v1/fotos', $scope.foto)
.success(function () {
$scope.foto = {};
$scope.mensagem = "Foto cadastrada com sucesso"
})
.error(function (erro) {
console.log(erro);
$scope.mensagem = "não foi possível cadastrar a foto"
});
}
}
});
principal.html:
<div class="jumbotron">
<h1 class="text-center">Alurapic</h1>
</div>
<p ng-show="mensagem.length" class="alert alert-info">{{mensagem}}</p>
<div class="row">
<div class="col-md-12">
<form>
<div class="input-group">
<span class="input-group-btn">
<a href="fotos/new" class="btn btn-primary">Nova Foto</a>
</span>
<input ng-model="filtro" ng-model-options="{debounce: 500}" class="form-control" placeholder="filtrar">
</div>
</form>
</div>
</div>
<div class="row">
<meu-painel class="col-md-2 filtro-animado" ng-repeat="foto in fotos | filter: {titulo: filtro}" titulo="{{foto.titulo}}">
<minha-foto url="{{foto.url}}" alt="{{foto.titulo}}"></minha-foto>
<a href="/fotos/edit/{{foto._id}}" class="btn btn-primary btn-block">Editar</a>
<button ng-click="remover(foto)" class="btn btn-danger btn-block">Remover</button>
</meu-painel>
</div>
main.js:
angular.module('alurapic', ['MinhasDiretivas', 'ngAnimate', 'ngRoute'])
.config(function ($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.when('/fotos', {
templateUrl: 'partials/principal.html',
controller: 'FotosController'
});
$routeProvider.when('/fotos/new', {
templateUrl: 'partials/foto.html',
controller: 'FotoController'
});
$routeProvider.when('/fotos/edit/:fotoID', {
templateUrl: 'partials/foto.html',
controller: 'FotoController'
});
$routeProvider.otherwise({redirectTo: '/fotos'});
});