Ошибка маршрутизации в AngularJS

Создайте мой маршрут в моем приложении:

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/

vs хорошая ссылка была: http://localhost:10001/

Кто не прав?

Спасибо

PS я использую node lite-server

1 ответ

Решение

Этот http://localhost:10001/ является правильным URL.

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

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

Прочитайте эту документацию здесь на $location чтобы узнать больше о том, почему это происходит.

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