4
respostas

Angular não carrega

Fiz todo o procedimento listado nos exercícios, porém no exercício 01 o que tem que colocar a foto do leão, ele não aparece, ja examinei o código várias vezes e refiz, porém nada acontece, tentei startar pelo localhost:3000 e tbm pelo localhost:3000/public/ e nada, tou precisando terminar isso para prosseguir. Aguardando retorno.

4 respostas

Elves, poderia compartilhar seu código para eu dar uma olhada?

Uma dica, você poderia utilizar o https://cli.angular.io/ para criar a estrutura base do seu projeto. O próprio time do angular recomenda o uso dela e pula a etapa de configuração do typescript e tudo mais :)

Importante:

npm install e npm start

Verifique os caminhos dos arquivos js app.js e controler.js (se estiver usando o VScode veja se ele encontra o arquivo pressionando ctrl+clique).

Verifique o ng-app e ng-controller. Verifique a declaracao do module na Controller. Teste o bind da tela com o angular incluindo um calculo para o angular resolver tipo {{2+2}} para ver se exibira o resultado da conta. Tente fazer bind de uma string de teste ex.

na controller:

$scope.mensagem = 'Teste';
<div>{{mensagem}}</div>

Eu startei e instalei tudo e no F12 ele mostra pegar os "js", porém não funciona.

<!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>
    </head>
    <body>
        <div class="container">
            <h1 class="text-center">Alurapic</h1>

             <img class="img-responsive center-block" src="{{foto.url}}" alt="{{foto.titulo}}">

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

Ok, do seu arquivo de controller

<script src="js/controllers/fotos-controller.js"></script>

deve conter algo assim

angular.module('alurapic')
    .controller('nomeDaController', function(){...})

Esta faltando o bind da controller no html via ou

<body ng-controller="nomeDaController">

ou na div exemplo na do container

 <div class="container" ng-controller="nomeDaController">

Lembrando que para as controllers não se aplica a regra do camelCase que se aplica nas diretivas.

Uma boa prática também é incluir os arquivos de script no final do html, antes do .

Espero ter ajudado