1

我有一个使用 Angular 的 rails 应用程序

如果我在像“/items/3”这样的网址,我如何通过 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,如下所示:

项目Ctrl.js:

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