将参数从角表传递到另一个

时间:2016-02-22 17:44:40

标签: angularjs scala playframework restangular smart-table

我有一个客户角度智能表,我想要的是:

=>当我选择一个客户时,我会显示另一个表格,其中包含我选择的客户的联系人。

那么如何将客户的ID传递给第二个表?

提前谢谢

更新

<div class="table-responsive">
                                <table st-table="displayedCollection" st-safe-src="ref" class="table table-striped">
                                    <thead>
                                        <tr>
                                            <th>id</th>
                                            <th>rDescription</th>
                                            <th>rLanguage</th>
                                            <th>lastVersion</th>
                                            <th>linkSet</th>
                                            <th>Actions</th>
                                        </tr>
                                            <th colspan="5">
            <input st-search="{{selectedPredicate}}" placeholder="bound predicate" class="input-sm form-control" type="search"/>
        </th>

                                    </thead>
                                    <tbody>
                                     <tr ng-repeat="row in displayedCollection" data-ng-click="select(row)">
          <td>{{row._id}}</td>

          <td>{{row.rDescription}}</td>
          <td>{{row.rLanguage}}</td>
          <td>{{row.lastVersion}}</td>
          <td>{{row.linkSet}}</td>
          <td class="text-center">
                                                <div class="btn-group">


                                                      <button class="Details" ng-click="Details(row);">Details</button> 
                                                </div>

                                            </td>
        </tr>

                                    </tbody>

                                </table>

这是我的控制器,我只是得到我的id(用于测试):

app.controller("listctrl",["$scope","Restangular",function($scope,Restangular){

    $scope.ref = Restangular.all("referential").getList().$object;
    $scope.predicates = ['rDescription', 'rLanguage', 'lastVersion', 'linkSet'];
    $scope.selectedPredicate = $scope.predicates[0];

   $scope.SaveData = function(row) {
        alert("coucou " + row._id);
    };

}]);

我现在需要做的是在我的两个控制器之间共享id这是正确的方法吗?

app.controller("listctrl",["$scope","Restangular",function($scope,Restangular){

    $scope.ref = Restangular.all("referential").getList().$object;
    $scope.predicates = ['rDescription', 'rLanguage', 'lastVersion', 'linkSet'];
    $scope.selectedPredicate = $scope.predicates[0];

   $scope.SaveData = function(row) {
        return row._id;
    };

}]);

  app.controller("listdetailctrl", function ($scope , SaveData) {
    $scope.refe = Restangular.one("referential",SaveData).getList();

  });

此外,我还在询问是否有更好的方法: (在我们点击按钮之前隐藏第二个表

enter image description here

1 个答案:

答案 0 :(得分:2)

通过按住ng-click并通过传递包含特定索引号的id的对象,通过点击事件来传递客户ID。 例如

<tr ng-repeat="x in customer">
<td>{{x.id}} <input type="button" ng-click="getDetails(x.id)"></td>
<td>{{ x.Name }}</td>
<td>{{ x.Country }}</td>