AngularJS:如何将ngRepeat与可扩展行一起使用

时间:2016-05-13 11:52:44

标签: angularjs angularjs-ng-repeat expand

我有一个包含4列的表数据库'PARAMETER':'name','description','group'和'value'。我希望显示按“组”分组的此表的内容,即:最初,当显示表时,只显示一个组列表,并在单击其中一个后,有一个参数列表特定群体。我继续如下:

        <div class="container">
            <div>
                <div>#</div>
                <div>Param Group</div>
            </div>

            <div ng-repeat="param in paramsServer | unique:'paramServerGroup'">
                <div class="row panel panel-body">
                    <div class="col-xs-1">
                        <div class="handpointer glyphicon glyphicon-chevron-right" data-ng-click="collapse($event);getParamsByGroup(param.paramServerGroup)" data-target="#view_{{param.paramServerGroup}}" data-toggle="collapse" 
                             aria-expanded="false">
                        </div>
                    </div>
                    <div class="col-sm-2 col-xs-12" data-ng-bind="param.paramServerGroup"></div>
                </div>

                <div class="collapse" id="view_{{param.paramServerGroup}}">
                    <div class="col-sm-offset-1">
                        <table class="table-condensed responsive-table">
                            <thead>
                            <tr class="row">
                                <th>Name</th>
                                <th>Description</th>
                                <th>Value</th>
                            </tr>
                            </thead>
                            <tbody ng-repeat="pGroup in paramsServerGroup">
                            <tr class="row" >
                                <td data-ng-bind="pGroup.paramServerName"></td>
                                <td data-ng-bind="pGroup.paramServerDescription"></td>
                                <td data-ng-bind="pGroup.paramServerValue"></td>
                            </tr>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>

我的控制员:

$scope.paramsServer = [];
    $scope.paramsServerGroup = [];       

    $http.get("/paramsServer")
        .success(function(data) {
            $scope.paramsServer = data;
        });


    $scope.getParamsByGroup = function (group){
        $http.get('/paramsServerByGroup?paramServerGroup='+group)
        .success(function(data) {
            $scope.paramsServerGroup = data;

        });
    }

当我扩展一行组时,它可以工作:我有一个特定于该组的参数列表(例如,假设第一行)。但是当我尝试扩展第二行组(没有折叠第一行)时,第一个参数列表获取新扩展行的内容。所以我最终得到了两个不同组的重复列表。如果我扩展第三行等等同样的事情。

有任何线索吗?

0 个答案:

没有答案