2016-12-22 10 views
4

なぜAngularはURLでハッシュを使用することがありますが、他の時はハッシュバングを使用するのですか?私は最初から2つの角度アプリを書き始めました。どちらもHTML5モードを使用していません。両方とも同じデフォルトルートを持ちます。ただし、デフォルトのURLの表示方法は異なります。角ハッシュとハッシュバン

私は角度ルートv1.6よりずっと前にこのランダムな動作を少なくとも1年間見てきました。 また、私は常にangle-ui-routerを使用しました。

デフォルトルート:

configRoutes.$inject = ['$urlRouterProvider']; 
function configRoutes ($urlRouterProvider) { 
    $urlRouterProvider.otherwise('/'); 
} 

アプリケーション#1は、アプリケーション#2

http://localhost:3000/#/

...これに... http://localhost:3000 ...これを解決する ...これを解決します http://localhost:3001 ... this to ... http://localhost:3001/#!/

デフォルトURLの最後の2文字に注意してください。

私はHTML5モードとかなりのURLを有効にする方法を知っています。それは私が求めていることではありません。上記の両方のURLの重要性とAngularがそれらを別々に書いている理由を本当に理解したいと思います。

現在のバージョン:我々は、角1.6に角度1.5からアップグレードする場合
角度-UI-ルータv0.3.2
角度V1.6.0

+0

これはおそらくハッシュプレフィックスの設定と関係しています。デフォルトはハッシュプレフィックスの設定と関係しています。角度uiルータが物事を混ぜるかもしれないかどうか確かめなさい。両方のアプリケーションで同じ角度バージョンを使用していますか? $ locationProvider.hashPrefix(を使用してアプリケーションのconfigブロックに手動でこれを設定してみてください)、それはのURL – IAmDranged

+0

可能な重複どのように影響するかを見る[簡単なハッシュの代わりにURLハッシュ・バン(#!/)接頭辞(#/)] (http://stackoverflow.com/questions/41226122/url-hash-bang-prefix-instead-of-simple-hash) – Mistalis

答えて

4

は、我々のアプリのURLは/#!//#/から変更しました。アプリケーション設定でhashPrefixを設定することで問題を解決しました:

angular.module("myApp").config(function($locationProvider) { 
    $locationProvider.hashPrefix(""); 
}); 
関連する問題