Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Pagina carregando na URL " http://localhost:3000/#!#%2Ffotos "

Fazendo a video aula Angular, configurei como abaixo:

angular.module('alurapic', ['minhasDiretivas', 'ngAnimate', 'ngRoute'])
    .config(function ($routeProvider) {
        $routeProvider.when('/fotos', {
            templateUrl: 'partials/principal.html',
            controller: 'FotosController'           
        });      
    });

E o Navegador abre na URL : http://localhost:3000/#!#%2Ffotos

Alguém sabe o porque disso? ou já passou por isso? Att.

5 respostas

Provavelmente foi por que você nao ativou o html5Mode

Tenta isso

angular.module('alurapic', ['minhasDiretivas', 'ngAnimate', 'ngRoute'])
    .config(function ($routeProvider,$locationProvider) {
    $locationProvider.html5Mode({enabled:true});
        $routeProvider.when('/fotos', {
            templateUrl: 'partials/principal.html',
            controller: 'FotosController'           
        });      
    });

e no index.html coloca

<base href="/">

Eu até tinha tentado colocar mas segui como no site do angular e coloquei

$locationProvider.html5Mode(true);

Funcionou mas não mostrava nada.

No caso esse ai de baixo é pra colocar dentro do ng-view?

<base href="/">

Fiz assim agora. . .

angular.module('alurapic', ['minhasDiretivas', 'ngAnimate', 'ngRoute'])
    .config(['$routeProvider', '$locationProvider',
        function ($routeProvider, $locationProvider) {
        $routeProvider.when('/fotos', {
            templateUrl: 'partials/principal.html',
            controller: 'FotosController',
            controllerAs: 'principal'
        });   

        $routeProvider.when('/fotos/new', {
            templateUrl: 'partials/foto.html'                   
        });      
        $locationProvider.html5Mode(true);
    }]);

Daí agora ele me retorna a seguinte URL quando entro com o caminho "localhost:3000/#/fotos"

http://localhost:3000/#%2Ffotos

solução!

Resolvi da seguinte forma:

angular.module('alurapic', ['minhasDiretivas', 'ngAnimate', 'ngRoute'])
    .config(['$routeProvider', '$locationProvider',
        function ($routeProvider, $locationProvider) {
        $locationProvider.hashPrefix('');
        $routeProvider.when('/fotos', {
            templateUrl: 'partials/principal.html',
            controller: 'FotosController',
            controllerAs: 'principal'
        });   

        $routeProvider.when('/fotos/new', {
            templateUrl: 'partials/foto.html'                   
        });      
        // $locationProvider.html5Mode(true);
    }]);

Caso você não queira digitar o "#" na URL. Você pode "descomentar" a linha do código acima

$locationProvider.html5Mode(true);

Ai, vai poder digitar a url assim: http://localhost:3000/fotos

Na index, mantive igual a aula...

<ng-view)</ng-view>

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software