У меня есть таблица и я использую ng-repeat для заполнения строк. В одной ячейке таблицы у меня есть несколько шрифтовых удивительных значков. В частности, это значок удаления. Я хочу показать или скрыть этот значок на основе его идентификатора магазина. У меня в контроллере задана переменная изначально как ложная. Если я удалю блок else, все значки удаления будут скрыты. Если у меня нет блокировки 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>
Исправьте меня, если я ошибаюсь, у меня есть список данных, которые генерируются на сервере, и я хочу показать эти данные, используя значок ng-repeat
и delete, будет отображаться, если storeID> 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>
Трудно сказать без данных.
Но скажем, у вас есть 2 предмета с идентификаторами:
Без "else":
items[i].storeID > 0
, поэтому vm.myItem = true
items[i].storeID > 0
, поэтому vm.myItem
остается true
В конце: значение vm.myItem
true
и все значки будут скрыты
С "esle":
items[i].storeID > 0
, поэтому vm.myItem = true
items[i].storeID > 0
, поэтому vm.myItem = false
В конце: значение vm.myItem
равно false
, и все значки видны