1

Angular を使用している Rails アプリがあります

「/items/3」のような URL にいる場合、angularjs コントローラーを介して ID (この場合は 3) を取得するにはどうすればよいですか?

私が試してみました

$location.url()

、しかし、私はこのエラーが発生しています:

TypeError: Object #<Object> has no method 'url'

$location を含めました。他に何かする必要はありますか?

また、Angular コントローラーを介して ID を取得する他の方法はありますか?

ありがとうございました

4

1 に答える 1

-1

でルートを構成するとき$routeProviderに、コントローラー内で取得できる変数名を指定できます。

例 app.js:

angular.module('myApp', [])
  .config(function ($routeProvider) {
    $routeProvider
      .when('/items/:item_id', {
        templateUrl: 'views/item.html',
        controller: 'ItemCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
  });

$routeParams次に、次のように角度オブジェクトをコントローラーに挿入することにより、コントローラーでアイテム ID を解決できます。

ItemCtrl.js:

angular.module('myApp')
  .controller('ItemCtrl', function ($scope, $routeParams) {
    var itemId = $routeParams.item_id;
});
于 2013-07-26T15:55:44.627 に答える