AngularJS を使用して URL クエリ パラメータの値を読み取りたいと思います。次の URL で HTML にアクセスしています。
http://127.0.0.1:8080/test.html?target=bob
さすがlocation.search
です"?target=bob"
。targetの値にアクセスするためのさまざまな例が Web にリストされていますが、いずれも AngularJS 1.0.0rc10 では機能しません。特に、以下はすべてundefined
です。
$location.search.target
$location.search['target']
$location.search()['target']
誰が何がうまくいくか知っていますか?($location
コントローラーへのパラメーターとして使用しています)
アップデート:
以下に解決策を投稿しましたが、完全に満足しているわけではありません。Developer Guide: Angular Services: Using $locationのドキュメントには、 について次のように記載されています$location
。
$location はいつ使用する必要がありますか?
アプリケーションが現在の URL の変更に対応する必要がある場合、またはブラウザで現在の URL を変更する必要がある場合。
私のシナリオでは、ページはクエリ パラメータを使用して外部 Web ページから開かれるため、「現在の URL の変更に反応する」ことはありません。その$location
ため、仕事に適したツールではない可能性があります(醜い詳細については、以下の私の回答を参照してください)。したがって、この質問のタイトルを「$location を使用して AngularJS でクエリ パラメータを読み取る方法は?」から変更しました。「AngularJS でクエリ パラメータを読み取る最も簡潔な方法は何ですか?」に。明らかに、javascript と正規表現を使用して を解析することもできますlocation.search
が、非常に基本的なものを低レベルにすることは、私のプログラマーの感性を本当に傷つけます。
$location
だから:私の答えよりも良い使い方はありますか、それとも簡潔な代替手段がありますか?