2017-05-27 5 views
0

私はプロジェクトに取り組んでいます。そのアプリではルーティングが必要なので、angular-ui-routerを使用しています。私は自分のアプリケーションと正常に動作しているルートを設定しましたが、感嘆符(!)の経路は私には分かりませんし、なぜこのような感嘆符がルートに届くのでしょうか。Angularjs(1.x)をWebフレームワークとして使用しているプロジェクトに取り組んでいます。角度-ui-routerを使用したルートの感嘆符(!)

また、angular ui routerによって提供されるデモのサンプルコードを見ました。 Hello World tutorialでは、私はルートはハッシュ(#)であることが観察なく感嘆などで(!):(!)https://some_url/#/home

が、Hello Solar System tutorialルートでは、ハッシュ(#)感嘆符である例えば。 https://some_url/#!/hello

angular ui routerの設定は両方のチュートリアルで同じです。それで、なぜ私は正確に両者の違いを生み出しているのか理解できません。ですから、私はこれを理解するのに助けが必要です。

ご迷惑をおかけして申し訳ございません。

ありがとうございます!

+0

'と古いバージョンでは、あなたは単に' /# ' –

+0

@Hadiを参照してください!あなたは、新しいバージョンとangularjs''の古いバージョンとはどういう意味ですか? –

+1

こちらをご覧くださいhttps://github.com/angular/angular.js/commit/aa077e81129c740041438688dff2e8d20c3d7b52 –

答えて

0

この質問の回答を皆に知らせるために、私がコメントから理解した内容を追加してください。

この変更は、1.6.xの角バージョンで確認できます。以前のバージョンでは、ちょうど#(ハッシュ・バング)のようでした。唯一#道のようなURLを取得するには 、あなたは、単にこのように書くことができ、

appModule.config(['$locationProvider', function($locationProvider) { 
    $locationProvider.hashPrefix(''); 
}]); 

この変更は、あなたがhttps://github.com/angular/angular.js/blob/master/CHANGELOG.md#location-due-toを見ることができる、version 1.6.0で導入されました。 $locationハッシュバングURLのハッシュプレフィックスは「強打に」空の文字列「から変更された

」:!そこに書かれているものをここで追加することも

、。アプリケーションが HTML5 modeを使用していないか、または HTML5 modeをサポートしていないブラウザで実行されており、独自のハッシュプレフィックスを指定していない場合、クライアント側のURLには "!"接頭辞。たとえば、mydomain.com/#/a/b/cではなくmydomain.com/#!/a/b/cになります。あなたが `/#参照angularjs``の新しいバージョンで

関連する問題