我有一张桌子并且使用ng-repeat来填充行。在一个表格单元格中,我有一些字体很棒的图标。一个特别是删除图标。我想根据商店ID显示或隐藏该图标。我在控制器中最初将变量设置为false。如果我删除了else块,则隐藏所有删除图标。如果我没有其他块,那么没有任何删除图标被隐藏
控制器
vm.myItem = false;
function scrollItems() {
var items;
if (vm.fetchCriteria != null) {
inventoryDataService.getItemList(vm.Criteria).then(function (result) {
vm.data = result.data;
items = vm.data;
for (var i = 0; i < vm.data.length; i++) {
if (items[i].storeID > 0) {
vm.myItem = true;
}
else {
vm.myItem = false;
}
vm.items.push(items[i]);
}
});
}
}
HTML:
<td ng-bind="item.onHandQty" ng-model="quantity"></td>
<td>
<a ng-click="vm.open(item)"><i class="fa fa-pencil fa-2x"></i></a>
<a ng-click="vm.removeItem(item)><i ng-hide="vm.myItem" class="fa fa-trash fa-2x link-icon"></i></a>
<a href="#"><i class="fa fa-link fa-2x link-icon"></i></a>
</td>
答案 0 :(得分:1)
纠正我,如果我错了,我有一个从服务器生成的数据列表,我想使用ng-repeat
和删除图标来显示这些数据如果 storeID&gt;显示0 ,如果我是对的,那么你可以使用以下代码:
<强>控制器强>
function scrollItems() {
if (vm.fetchCriteria != null) {
inventoryDataService
.getItemList(vm.Criteria)
.then(function (result) {
vm.data = result.data;
});
}
}
<强> HTML 强>
<tr ng-repeat="item in vm.data track by $index">
<td ng-bind="item.onHandQty" ng-model="quantity"></td>
<td>
<a ng-click="vm.open(item)"><i class="fa fa-pencil fa-2x"></i></a>
<a ng-click="vm.removeItem(item)"><i ng-show="item.storeID > 0" class="fa fa-trash fa-2x link-icon"></i></a>
<a href="#"><i class="fa fa-link fa-2x link-icon"></i></a>
</td>
</tr>
答案 1 :(得分:0)
没有数据很难分辨。
但是,假设您有2个带有ID的项目:
没有“其他”:
items[i].storeID > 0
的第一项返回true,所以vm.myItem = true
items[i].storeID > 0
的第二项返回false,因此vm.myItem
逗留true
最后:vm.myItem
值为true
,所有图标都将隐藏
用“esle”:
items[i].storeID > 0
的第一项返回true,所以vm.myItem = true
items[i].storeID > 0
返回false,所以vm.myItem = false
最后:vm.myItem
值为false
,所有图标均可见