Estou há algum tempo descobrir o problema e não acho. Não há nenhum erro no console do chrome, porêm a tag ainda não é substituida.
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="https://code.angularjs.org/1.5.6/angular.min.js"></script>
<script src="js/directives/minhas-diretivas.js"></script>
<script src="js/main.js"></script>
<script src="js/controllers/fotos-controller.js"></script>
</head>
<body ng-controller="FotosController">
<div class="container">
<div class="jumbotron">
<h1 class="text-center">Alurapic</h1>
</div>
<div class="row">
<meu-painel ng-repeat="foto in fotos" titulo="{{foto.titulo}}">
<img class="img-responsive center-block" src="{{ foto.url }}" alt="{{ foto.titulo }}">
</meu-painel>
</div>
</div> <!-- fim container -->
</body>
</html>
fotos-controller.js:
angular.module("alurapic").controller("FotosController", function($scope, $http){
$http.get("/v1/fotos")
.then(function(dados){
$scope.fotos = dados.data;
console.log(dados.data);
},
function(erro){
console.log(erro);
});
});
minhas-diretivas.js:
angular.module("minhasDiretivas", [])
.directive("meuPainel", function(){
var ddo = {
restrict: "AE",
scope: {
titulo: "@"
},
transclude: true,
templateurl: "/js/directives/painel.html"
};
return ddo;
});
painel.html:
<div class="panel panel-default col-md-3">
<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", ["minhasDiretivas"]);
Thanks