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"> 

地址欄顯示域/#字母和內容保持不變,直到我更新了頁面。在頁面更新網址變爲域名/字母表與正確的內容。如果我刪除此部分:

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

的URL看起來像域/#/字母,但內容會適當地改變。這個問題可以通過降低角度到1.2.25 howerwer來解決,它會導致get-params問題,所以有沒有辦法在沒有降級角度的情況下擁有漂亮的url?

回答

0

你的href告訴瀏覽器去oldpath /#alphabet,oldpath/alphabet。您需要將自己的hrefs更改爲:

href="/alphabet"