URL からのパラメータを AngularJS コントローラ内で読み取るにはどうすればよいですか?
のような URL があり、URLhttp://localhost/var/:valueのコントローラー内の変数に値を格納したいとし/var/:valueます。
$routeParams.valueandを使用してみました$route.current.params.valueが$routeParams、最初は定義されておらず、$route機能しません。
URL からのパラメータを AngularJS コントローラ内で読み取るにはどうすればよいですか?
のような URL があり、URLhttp://localhost/var/:valueのコントローラー内の変数に値を格納したいとし/var/:valueます。
$routeParams.valueandを使用してみました$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']}}