Prezados,
a foto a direita não está sendo renderizada conforme é exibido em aula.
Conferi no vídeo e no link de Explicação e não descobri o erro.
Seguem os códigos:
HTML INDEX
<!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>
HTML PRINCIPAL
<div class="jumbotron">
<h1 class="text-center">Alurapic</h1>
</div>
<div class="row">
<div class="col-md-12">
<form>
<div class="input-group">
<input ng-model="filtro" ng-model-options="{debounce: 200}" class="form-control" placeholder="Filtrar...">
<span class="input-group-btn">
<a href="fotos/new" class="btn btn-primary">Nova foto</a>
</span>
</div>
</form>
</div>
</div>
<div class="row">
<meu-painel class="col-md-2 painel-animado" ng-repeat="foto in fotos | filter: filtro" titulo="{{foto.titulo}}">
<img class="img-responsive center-block" src="{{foto.url}}" alt="{{foto.titulo}}">
</meu-painel>
</div>
HTML MEU-PAINEL
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title text-center">{{titulo}}</h3>
</div>
<div class="panel-body" ng-transclude>
</div>
</div>
HTML FOTO
<div class="page-header text-center">
<h1>{{foto.titulo}}</h1>
</div>
<p ng-show="mensagem.length" class="alert alert-info">{{mensagem}}</p>
<form novalidate name="formulario" class="row" ng-submit="submeter()">
<div class="col-md-6">
<div class="form-group">
<label>Título</label>
<input ng-model="foto.titulo" name="titulo" class="form-control" required ng-maxlength="20">
<span ng-show="formulario.$submitted && formulario.titulo.$error.required" class="form-control alert-danger">Título obrigatório</span>
<span ng-show="formulario.$submitted && formulario.titulo.$error.maxlength" class="form-control alert-danger">Máximo de 20 caracteres</span>
</div>
<div class="form-group">
<label>URL</label>
<input ng-model="foto.url" name="url" class="form-control" required>
<span ng-show="formulario.$submitted && formulario.url.$error.required" class="form-control alert-danger">URL obrigatória</span>
</div>
<div class="form-group">
<label>Descrição</label>
<textarea ng-model="foto.descricao" name="descricao" class="form-control"></textarea>
</div>
<button type="submit" class="btn btn-primary" ng-disabled="formulario.$invalid">Salvar</button>
<a href="/" class="btn btn-primary">Voltar</a>
</div>
<div class="col-md-6">
<minha-foto url="{{foto.url}}" titulo="{{foto.titulo}}"></minha-foto>
</div>
</form>
MAIN
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.otherwise({redirectTo: '/fotos'});
});
CONTROLLER
angular.module('alurapic').controller('FotoController', function ($scope, $http) {
$scope.foto = {};
$scope.mensagem = '';
$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){
$scope.mensagem = 'Foto não cadastrada!';
});
}
};
});
Pelo que entendi, está faltando criar uma diretiva com o nome de minha-foto
.
Outro problema na mesma aula: dentro form, as palavras não estão renderizando os assentos. É como se o charset em index.html não estivesse válido. O novalidate dentro do form elimina a configuração do charset?