ng-hide 隐藏所有图标

ng-hide hiding all icons

我有一个 table 并且正在使用 ng-repeat 来填充行。在一个 table 单元格中,我有一些很棒的字体图标。特别是一个删除图标。我想根据其商店 ID 显示或隐藏该图标。我在控制器中将一个变量最初设置为 false。如果我删除 else 块,那么所有删除图标都会被隐藏。如果我没有 else 块,那么 none 的删除图标会被隐藏

控制器

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>

没有数据很难说。

但假设您有 2 件商品的 ID 为:

  1. -1
  2. 3

没有 "else" :

  1. 第一项 return items[i].storeID > 0 为真,所以 vm.myItem = true
  2. 第二项return对于items[i].storeID > 0是错误的,所以vm.myItem留在true

最后:vm.myItem值为true,所有图标都将被隐藏

随着 "esle" :

  1. 第一项 return items[i].storeID > 0 为真,所以 vm.myItem = true
  2. 第二项return对于items[i].storeID > 0是错误的,所以vm.myItem = false

最后:vm.myItem值为false,所有图标都可见

纠正我,如果我错了,我有一个从服务器生成的数据列表,我想使用 ng-repeat 删除图标 [=如果storeID > 0,将显示23=],如果我是对的,那么您可以使用以下代码:

控制器

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>