0

這裏是我的角碼

var app = angular.module('app', []); 
app.controller('mainController', ['$location', '$scope', '$log', function(location, scope, log) { 
    log.info(location.path()); 
}]); 

,這是我的HTML

<div ng-controller="mainController"> 
    <h1>Sample</h1> 
    <a href="#link">Go to Link</a> 
    <p id="link"> 
     Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
    </p> 
</div> 

現在點擊「轉到鏈接」後,用我的該網址是指localhost/angular/#!#link而不是localhost/angular/#link

Infact將'$ location'服務注入角度應用程序後,任何帶有片段標識符的url都會轉到localhost/angular/#!#url。爲什麼會導致/#!#url而不是/#url

我使用AngularJS V1.6.1

+0

兩個原因一行。你有沒有在任何地方或者如果你使用舊的瀏覽器應用'hashPrefix'方法。 [ref here](https://docs.angularjs.org/guide/$location) – nivas

回答

1

正如前面提到的由nivas請參閱您的代碼,你有這樣的

$locationProvider.html5Mode(true) 
$locationProvider.hashPrefix('!')