2
respostas

Minha pagina não localhost:3000/fotos não carrega nada.

Não consigo verificar minhas modificações, desde a aula 05 o meu endereço localhost:3000 só leva a uma página em branco. Não sei o que fazer.

Esse é o meu index:

<!DOCTYPE html>
<html lang="pt-br" ng-app="alurapic">
    <head>
        <base href="/">
        <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">
        <link rel="stylesheet" href="css/efeitos.css">
        <script src="js/lib/angular.min.js"></script><!--core do angular-->
        <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 ng-controller="FotosController">
        <div class="container">

            <ng-view></ng-view>

        </div> <!-- fim container -->        
    </body>
</html>

Esse é o main.js

angular.module('alurapic', ['minhasDiretivas', 'ngAnimate', 'ngRoute'])

    .config(function($routeProvider){

        $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'});

    });

E aqui está a principal.html

<div class="jumbotron">
    <h1 class="text-center">Alurapic</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 }">
        </form>
    </div>
</div>

<div class="row">
    <meu-painel class="col-md-2 painel-animado" ng-repeat="foto in fotos | filter: filtro" titulo="{{foto.titulo}}">
        <minha-foto src="{{foto.url}}" alt="{{foto.titulo}}"></minha-foto>
    </meu-painel>
</div>
2 respostas

Olá Bruno!

Não sou especialista em Angular mas estou disponivel para te ajudar!

Pelo que observei no seu código o problema pode estar na diferença entre FotosController e FotoController (Plural e Singular).

1 - No seu HTML você usa:

<body ng-controller="FotosController">

2 - No seu main.js:

       $routeProvider.when('/fotos',{
            templateUrl: 'partials/principal.html',
            controller: 'FotosController'
        });

        $routeProvider.when('/fotos/new', {
            templateUrl: 'partials/foto.html',
            controller: 'FotoController'
        });

Será que não está dando algum erro por conta disso?

Aguardo seu retorno! :D

Olá Guilherme! Primeiramente obrigado pela disposição em ajudar.

Bom... comparando melhor o codigo do professor com o meu, reparei que na tag

não havia o ng-controller. No entanto ao retirar não houve mudança, a tela ainda continua em branco não trazendo a view principal.html. =(