Angular JS 中视图的访问 ID

Access ID of view in Angular JS

如何在加载视图后访问控制器中客户的 customerId

app.js:

  $stateProvider.state('app.customer', {
    url: '/customer/:customerId',
    views: {
      'menuContent': {
        templateUrl: 'templates/customer.html',
        controller: 'CustomerCtrl'
      }
    }
  })

customers.html:

<a class="item item-points" ng-repeat="customer in customers" href="#/app/customer/{{customer.Customer.id}}"> ...

您可以从 $stateParams 的控制器中获取它,只需要在您的控制器中添加 $stateParams 依赖项。基本上 $stateParams 将具有 URL(in object)

中的所有参数
$stateParams.customerId; //

我还建议您使用 ui-sref 指令而不是自己创建 URL,这将通过查看状态创建具有正确 URL 的 href。

<a class="item item-points" 
   ng-repeat="customer in customers" 
   ui-sref="app.customer({customerId : customer.Customer.id})">
  ...
</a>

在控制器中...

$stateParams.customerId (injecting $stateParams service)

$state.params.customerId (injecting $state service)

我的偏好是第二种方法,因为我使用 $state 来处理 $state.go 等,所以使用这个

更容易

在你的控制器中注入$stateParams服务

angular
  .module('yourmodule')
   .controller('CustomerCtrl',['$scope','$stateParams', function($scope, $stateParams){
     console.log($stateParams); //should be object {customerId: 'id-of-customer'}
  }])