URL からのパラメータを AngularJS コントローラ内で読み取るにはどうすればよいですか?
のような URL があり、URLhttp://localhost/var/:value
のコントローラー内の変数に値を格納したいとし/var/:value
ます。
$routeParams.value
andを使用してみました$route.current.params.value
が$routeParams
、最初は定義されておらず、$route
機能しません。
URL からのパラメータを AngularJS コントローラ内で読み取るにはどうすればよいですか?
のような URL があり、URLhttp://localhost/var/:value
のコントローラー内の変数に値を格納したいとし/var/:value
ます。
$routeParams.value
andを使用してみました$route.current.params.value
が$routeParams
、最初は定義されておらず、$route
機能しません。
問題は、ルート変更が発生する前に実行されるコントローラー (メイン/マスター/ページコントローラーなど) に注入$routeParams
または実行される可能性があることです。$route
$routeParams
特定のルート (ルートを定義するときにプロパティで指定) のコントローラーを挿入controller
すると、それが機能します。それ以外の場合は、ルート サービスがブロードキャストするさまざまなイベントをリッスンする方がよいでしょう。
使用するコードを変更してみてください
$scope.$on('$routeChangeSuccess', function (ev, current, prev) {
// ...
});
要件: 「ngRoute」がアプリ モジュールにあることを確認してください
Route provider set up as: http://localhost/var/:valName
関数は次のように設定されています。
function functionName($scope, $routeParams){$scope.value = $routeParams.valName;}
HTML ビュー:
{{value['valName']}}