angularjs 1.6.0 (mais recente agora) rotas não funcionando

Eu estava esperando ver essa pergunta no Stackoverflow, mas não o fiz. Aparentemente sou o único que tem esse problema que me parece muito comum.

Eu tenho um projeto básico em que estou trabalhando, mas as rotas parecem não funcionar, embora tudo o que fiz até agora pareça estar certo.

Eu tenho este pedaço de html no meu arquivo index.html :

   New project      Add Quote 

e aqui está meu app.js :

 var app = angular.module('myApp', ['ngRoute']); app.config(['$routeProvider', function ($routeProvider) { $routeProvider .when('/add-quote', { templateUrl: 'views/add_quote.html', controller: 'QuoteCtrl' }) .otherwise({ redirectTo: '/' }); }]); 

Agora, quando eu apenas visito a página, aqui está o que eu recebo no URL:

http: // localhost: 8000 / admin #! /

e quando clico no botão Add quote , recebo isto:

http: // localhost: 8000 / admin #! / #% 2Fadd-quote

Qual pode ser o problema aqui? Obrigado pela ajuda

    Basta usar hashbang #! no href:

      Add Quote 

    Devido ao aa077e8 , o prefixo de hash padrão usado para URLs de hash do $ location mudou da string vazia ( '' ) para o estrondo ( '!' ).

    Se você realmente quiser não ter nenhum hash-prefixo, poderá restaurar o comportamento anterior adicionando um bloco de configuração ao seu aplicativo:

     appModule.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix(''); }]); 

    Para mais informações, veja

    • AngularJS GitHub Pull # 14202 Padrão alterado hashPrefix para ‘!’
    • Guia AngularJS – Migração – aa0077e8

    Desculpe entrar no meu cavalo, mas … Como isso foi liberado? Isso é enorme, quebrando o bug. – @MiloTheGreat

    A quebra de mudança como por # 14202 deve ser revertida como a especificação de referência já foi oficialmente obsoleta # 15715

    Vou encerrar este problema porque não recebemos nenhum feedback. Sinta-se à vontade para reabrir este problema se puder fornecer um novo feedback.

    https://github.com/angular/angular.js/issues/15715#issuecomment-281785369

    Simplesmente inclua o ! no href :

      Add Quote 

    Eu não consegui roteamento para trabalhar em 1.6.4, então eu decidi usar o angular 1.5.11 e o roteamento funciona bem, embora eu precisasse definir todos os meus roteamentos em quando (..) funções com “/”

    Se aderir a uma versão mais antiga do angular é uma opção para você, então considere-a, pois ela pode salvar seus nervos …

     var app = angular.module("myApp", ["ngRoute"]); app.config(function($routeProvider) { $routeProvider .when("/layoutandviewbox", { templateUrl : "views/layout-and-viewbox.html" }) .when("/basicshapes", { templateUrl : "views/basic-shapes.html" }) .when("/advancedshapes", { templateUrl : "views/advanced-shapes.html" }) .when("/groups", { templateUrl : "views/groups.html" }) .when("/transformations", { templateUrl : "views/transformations.html" }) .when("/effects", { templateUrl : "views/effects.html" }) .when("/", { templateUrl : "views/basic-shapes.html" }); }); 
     app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { $locationProvider.hashPrefix(''); $routeProvider .when('/add-quote', { templateUrl: 'views/add_quote.html', controller: 'QuoteCtrl' }) .otherwise({ redirectTo: '/' }); }]);