0

Я использую AngularJS 1.4.8. Как это Сайед в учебнике, я создал правило маршрутизации:

alphApp.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { 
    $routeProvider 
      .when('/', { 
       templateUrl: 'pages/home.html', 
       controller: 'mainCtrl' 
      }) 
      .when('/alphabet', { 
       templateUrl: 'pages/alphabet.html', 
       controller: 'alhabetController' 
      }) 
      .otherwise({ 
       redirectTo: '/' 
      }); 

    $locationProvider.html5Mode({ 
     enabled: true, 
     requireBase: false 
    }); 

}]); 

Но когда я нажимаю ссылку

<a href="#alphabet"> 

Адресная строка показывает домен /# алфавит и содержание остаются неизменными до Я обновляю страницу. После обновления страницы URL становится домен/алфавит с правильным содержанием. Если удалить эту часть:

$locationProvider.html5Mode({ 
    enabled: true, 
    requireBase: false 
}); 

URL-адрес будет выглядеть домен /#/алфавит но содержание будет меняться должным образом. Проблема может быть решена путем понижения углового до 1.2.25 howerwer, который вызывает проблему с get-params, так есть ли способ иметь довольно URL-адреса без понижения углового?

ответ

0

Ваш href говорит браузеру перейти к oldpath/# alphabet, oldpath/alphabet. Вам необходимо изменить свои hrefs на:

href="/alphabet"