AngularJS:如何在可扩展行中使用ngRepeat
我有一个表数据库“PARAMETER”,有4列:“name”、“description”、“group”和“value”。我想显示按“组”分组的该表的内容,即:最初,当显示该表时,只会显示组列表,单击其中一个组后,会显示该特定组的参数列表。我的发言如下:AngularJS:如何在可扩展行中使用ngRepeat,angularjs,angularjs-ng-repeat,expand,Angularjs,Angularjs Ng Repeat,Expand,我有一个表数据库“PARAMETER”,有4列:“name”、“description”、“group”和“value”。我想显示按“组”分组的该表的内容,即:最初,当显示该表时,只会显示组列表,单击其中一个组后,会显示该特定组的参数列表。我的发言如下: <div class="container"> <div> <div>#</div> <
<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>
当我展开组的一行时,它就起作用了:我有一个特定于组的参数列表(比如说第一行)。但是,当我尝试展开组的第二行(不折叠第一行)时,第一个参数列表将获取新展开行的内容。所以我最终得到了两个不同组的参数的重复列表。如果我展开第三行,也是一样的
有什么线索吗?每次单击一行时,似乎都在刷新“paramsServerGroup”数组。该数组绑定到tbody参数的ng repeat。因此,您正在有效地更改模型,所有div重复中绑定到该数组的视图tbody元素将刷新。是的,就是这样。但我怎样才能克服这个问题呢?展开行时是否折叠其他行?但我仍在寻找其他保持所有行扩展的解决方案。每次单击一行时,似乎都在刷新“paramsServerGroup”数组。该数组绑定到tbody参数的ng repeat。因此,您正在有效地更改模型,所有div重复中绑定到该数组的视图tbody元素将刷新。是的,就是这样。但我怎样才能克服这个问题呢?展开行时是否折叠其他行?但我仍在寻找其他解决方案,使所有行保持扩展。。
$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;
});
}