angular-ui-router ライブラリを使用していますが、URL に問題があります。
次のコードがあります:
アプリ.js:
app.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('state', {
url: '/state',
templateUrl: 'templates/state.html',
onEnter: function () {
/*... code ...*/
}
})});
インデックス.html:
<a href="#/state">STATE</a>
これは機能しますが、<a>
タグから「#」を削除すると機能しなくなります。
URL から「#」記号を削除するにはどうすればよいですか?
ベストアンサー1
ハッシュタグなしでナビゲーションを行う場合は、HTML5Mode を有効にする必要があります。
app.config(["$locationProvider", function($locationProvider) {
$locationProvider.html5Mode(true);
}]);
<head>
また、HTML ファイルに次のコードを追加して、Angular にアプリのルート URL を伝える必要があります。
<base href="/">
HTML5モードのサポートはブラウザによって異なりますのでご注意ください。History APIをサポートしていないブラウザの場合は、Angularはハッシュバンにフォールバックします。