2017-01-25 6 views
1

Have генерировать свой маршрут в моем приложении:AngularJS маршрутизация выпуска плохого URL

app.config(function($routeProvider){ 
    $routeProvider 
     .when('/',{ 
      templateUrl: './partials/home/home.html', 
      controller: 'mainCtrl'} 
     ) 
     .when('/article',{ 
      templateUrl: './partials/article/article.html', 
      controller: 'articleCtrl'} 
     ) 
     .otherwise({ 
      redirectTo: '/' 
    }); 

}); 

Это работает!

Но связь была барельефом :( я создаю мою ссылку так:

<div class="read-more"><a href="#article">Lire plus...</a></div> 

мою плохая ссылка: http://localhost:10001/#!/#article

против хорошей связи была: http://localhost:10001/#!/article

Кто был неправ ?

thx

PS Я использую узел lite-server

ответ

2

Этот http://localhost:10001/#!/article - это правильный url.

Причина в том, если браузер HTML5 браузер AngularJS будет перенаправлять его #!

В противном случае это будет только #.

Прочтите это documentation here по телефону $location, чтобы узнать больше о том, почему это происходит.

  • Открытие регулярного URL в унаследованной браузере -> перенаправляет к hashbang URL
  • Открытие hashbang URL в современном браузере -> переписывает на обычный URL