Tem alguma coisa dando errado na hora de criar meu painel de fotos. Eu já bati a cabeça e não consigo achar o problema. Não achei nenhum erro no meu código e no console do navegador não aparece nenhum erro. Meu código está assim:
index.html:
<!DOCTYPE html>
<html lang="pt-br" ng-app="Alurapic">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<title>Alurapic</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<script src="js/lib/angular.min.js"></script>
<script src="js/main.js"></script>
<script src="js/controllers/fotos-controller.js"></script>
<script src="js/directives/my-directives.js"></script>
</head>
<body ng-controller="FotosController">
<div class="container">
<div class="jumbotron">
<h1 class="text-center">Alurapic</h1>
</div>
<div class="row">
<painel-foto ng-repeat="foto in fotos" titulo="{{foto.titulo}}">
<img class="img-responsive center-block" src="{{foto.url}}" alt="{{foto.titulo}}">
</painel-foto>
</div>
</div> <!-- fim container -->
</body>
</html>
my-directives.js:
angular.module("MyDirectives", [])
.directive("painelFoto", function () {
var ddo = {};
ddo.restrict = "AE";
ddo.transclude = true;
ddo.scope = {
titulo: '@'
};
ddo.templateUrl = "js/directives/painel-foto.html";
return ddo;
});
fotos-controller.js
angular.module("Alurapic").controller("FotosController", function ($scope, $http) {
$scope.fotos = [];
$http.get("v1/fotos")
.success(function (dados) {
$scope.fotos = dados;
})
.error(function (erro) {
console.log("Ocorreu um erro: " + erro);
})
});
painel-foto.html:
<div class="panel panel-default" ng-repeat="foto in fotos">
<div class="panel-heading">
<h3 class="panel-title text-center">{{titulo}}</h3>
</div>
<div class="panel-body" ng-transclude>
</div>
</div>
main.js:
angular.module("Alurapic",["MyDirectives"]);
Tentei criar outra diretiva (componente) pra testar e funcionou. Mas o painel de fotos não aparece.