我有一个列表,我通过ng-repeat填充,在该列表中我有一个嵌套列表,每个列表上都有一个按钮。现在点击那个ul我想从服务器加载可以是动态的列表。目前它正在覆盖该领域。这是我的代码。
<ul class="qtree">
<li ng-repeat="Childgroup in childGroups">
<span class="glyphicon glyphicon-remove del-btn-tree" data-ng-click="deleteChildGroup(Childgroup.id)" ></span>
<label for="test1">{{Childgroup.name}}</label>
<input type="checkbox" id="{{Childgroup.id}}" data-ng-click="getEntities(Childgroup.id)" />
<ul>
<li ng-repeat="entity in entites">
{{entity.name}}
</li>
</ul>
</li>
</ul>
JavaScript的:
$scope.getEntities = function(groupID) {
$scope.entites = [];
var entitiesGroup = ManageGroupsFactory.getEntitiesForGroup(groupID);
entitiesGroup.success(function(entitiesGroup) {
if(entitiesGroup != "") {
for(var i=0; i<entitiesGroup.length;i++) {
$scope.entites.push(entitiesGroup[0]);
}
}
});
entitiesGroup.error(function(data,status){
// TODO for errors
});
第一个列表通过ng-repeat填充。现在我想要的是点击复选框,它从服务器加载它的特定实体并填充其中,每个复选框都有不同的内容。
有什么想法吗?
答案 0 :(得分:0)
一种很有可能工作的技术是为子列表中的每个元素生成唯一的id。您应该能够组合父列表名称+内部循环的某个值以生成唯一ID,例如:
<li ng-repeat="entity in entites track by $id(Childgroup.id + entity.name)">
{{entity.name}}
</li>
让我知道这对你有用。