web-dev-qa-db-ja.com

AngularJSは$ locationでURLを変更します

私はAngularJSでURLを変更しようとしていますが、リダイレクトではなく、イベント後にURLを変更するだけです。

私が必要なのはこれです:

_www.myurl.com/inbox/1_これに_www.myurl.com/inbox/25_

つまり、最後のIDを変更するだけです。

私はこれをやろうとしています:

$location.path('/inbox/'+id);

しかし、私が得ているのはこれです:

_www.myurl.com/inbox/1#/inbox/25_

21
Matheus Lima

Angularは、1ページのWebアプリの概念を強化します。ブラウザは、「#」値以降の変更に対してアクションを実行しません。したがって、ベストプラクティスは、「#」値の後にURLの変数属性を追加することです。これにより、ベースURLと属性がブラウザーのアドレスバーできれいに表示され、問題が解決されます。私のアドバイスは、ユーザー名、ページ番号を維持することです。 、または「#」値の後の特定の属性ID。あなたの場合、上記のようなものを使用する必要があります

www.myUrl.com/#/inbox/25

または

www.myUrl.com/inbox/#/25

16
binariedMe

通常angular URLは次のようになります

www.myurl.com/#/inbox/1

その場合

$location.url('/inbox/25');

あなたのために働くべきです

15
Orane