angular-ui-router URL の「#」記号を削除する方法 質問する

angular-ui-router URL の「#」記号を削除する方法 質問する

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はハッシュバンにフォールバックします

おすすめ記事