Olá Professor,
No exercício para criar a diretiva minha-foto a aplicação parou de funcionar. Quando coloco a diretiva o principal.html fica repetindo.
index.html
<!DOCTYPE html>
<html lang="pt-br" ng-app="alurapic">
<head>
<meta charset="UTF-8">
<base href="/">
<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">
<link rel="stylesheet" href="css/efeitos.css">
<script src="js/lib/angular.min.js"></script>
<script src="js/lib/angular-animate.min.js"></script>
<script src="js/lib/angular-route.min.js"></script>
<script src="js/main.js"></script>
<script src="js/controllers/fotos-controller.js"></script>
<script src="js/controllers/foto-controller.js"></script>
<script src="js/directives/minhas-diretivas.js"></script>
</head>
<body>
<div class="container">
<ng-view></ng-view>
</div> <!-- fim container -->
</body>
</html>
principal.html
<div>
<h1 class="text-center jumbotron">Predial Primus</h1>
</div>
<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" type="button">
Nova foto
</a>
</span>
<input class="form-control" placeholder="filtrar pelo título da foto" ng-model="filtro" ng-model-options="{ debounce: 500 }">
</div>
</form>
</div> <!-- fim col-md-12 -->
</div> <!-- fim row -->
<div class="row">
<meu-painel class="col-md-2 painel-animado" ng-repeat="foto in fotos | filter: filtro" titulo="{{foto.titulo}}">
<minha-foto url="{{foto.url}}" titulo="{{foto.titulo}}">
</meu-painel>
</div> <!-- fim row -->
foto.html
<div class="page-header text-center">
<h1>{{foto.titulo}}</h1>
</div>
<form novalidate name="formulario" class="row" ng-submit="submeter()">
<div class="col-md-6">
<div class="form-group">
<label>Título</label>
<input name="titulo" class="form-control" ng-model="foto.titulo" required ng-maxlength="20">
<span class="form-control alert-danger" ng-show="formulario.$submitted && formulario.titulo.$error.required" >Título Obrigatório</span>
<span class="form-control alert-danger" ng-show="formulario.titulo.$error.maxlength" >No máximo 20 caracteres</span>
</div>
<div class="form-group">
<label>URL</label>
<input name="url" class="form-control" ng-model="foto.url" required>
<span class="form-control alert-danger" ng-show="formulario.$submitted && formulario.url.$error.required" >Url Obrigatória</span>
</div>
<div class="form-group">
<label>Descrição</label>
<textarea name="descricao" class="form-control" ng-model="foto.descricao">
</textarea>
</div>
<button type="submit" class="btn btn-primary">
Salvar
</button>
<a href="/" class="btn btn-primary">Voltar</a>
<hr>
</div>
<div class="col-md-6">
<minha-foto url="{{foto.url}}" titulo="{{foto.titulo}}"></minha-foto>
</div>
</form>
minhas-diretivas.js
angular.module('minhasDiretivas', [])
.directive('meuPainel', function() {
var ddo = {};
ddo.restrict = "AE";
ddo.transclude = true;
ddo.scope = {
titulo: '@'
};
ddo.templateUrl = 'js/directives/meu-painel.html';
return ddo;
})
.directive('minhaFoto', function() {
var ddo = {};
ddo.restrict = "AE";
ddo.scope = {
titulo: '@',
url: '@'
};
ddo.template = '<img class="img-responsive center-block" src="{{url}}" alt="{{titulo}}">';
return ddo;
});