2017-01-07 3 views
0

Что мне нужно сделать, это показать кнопку в таблице, но когда «имя» «True», кнопка не должна отображаться. Только тогда, когда "имя" является «Ложь:. Кнопка должна быть в таблицеКнопка в таблице угловая

Мои Json

[ 
     "name" : "False", 
     "date" : "22/02/2015" 
    }, 
    { 
     "name" : "False", 
     "date" : "18/03/2013" 
    }, 
    { 
     "name" : "True", 
     "date" : "12/06/2012" 
    }] 

Мой стол

<tr ng-repeat="name in names"> 
    <td>{{name.name}}</td> 
    <td>{{name.date}}</td> 
    <td><button ng-model="post">POST</button></td> 
</tr> 

ответ

0

Вы можете использовать ng-if для show и hide

<tr ng-repeat="name in names"> 
    <td>{{name.name}}</td> 
    <td>{{name.date}}</td> 
    <td> 
     <button ng-if="name.name === 'False'">POST</button> 
    </td> 
</tr> 
0

вы можете использовать нг-если или нг-шоу или нг скрытие

<tr ng-repeat="name in names"> 
<td>{{name.name}}</td> 
<td>{{name.date}}</td> 
<td> 
    <button ng-if="!name.name">POST</button> 
</td> 

0

Перейти througth этой ссылки https://stackoverflow.com/a/21870119/6554634, чтобы получить лучшее представление о ng-if, ng-show и ng-hide.

И в вашей информации есть ошибка, нет первого скобки для первого объекта. Это глупо, но вызывает потерю, если мы не заметили.

[ 
    { 
     "name" : "False", 
     "date" : "22/02/2015" 
    }, 
    { 
     "name" : "False", 
     "date" : "18/03/2013" 
    }, 
    { 
     "name" : "True", 
     "date" : "12/06/2012" 
    } 
] 

Я предпочитаю ng-if как он удаляет элемент из DOM, если нет необходимости.

<tr ng-repeat="name in names"> 
    <td>{{name.name}}</td> 
    <td>{{name.date}}</td> 
    <td><button ng-model="post" ng-if="name.name==='False'">POST</button></td> 
</tr> 
0
  • Ваш JSON недействителен
  • Использование нг-шоу, чтобы показать кнопку, когда имя True.

Работа демо:

var myApp = angular.module('myApp',[]); 
 

 
myApp.controller('MyCtrl', function ($scope) { 
 
    $scope.names = [{ 
 
     "name" : "False", 
 
     "date" : "22/02/2015" 
 
    }, 
 
    { 
 
     "name" : "False", 
 
     "date" : "18/03/2013" 
 
    }, 
 
    { 
 
     "name" : "True", 
 
     "date" : "12/06/2012" 
 
    }]; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
<table> 
 
<tr ng-repeat="name in names"> 
 
    <td>{{name.name}}</td> 
 
    <td>{{name.date}}</td> 
 
    <td><button ng-model="post" ng-show="name.name == 'True'">POST</button></td> 
 
</tr> 
 
</table> 
 
</div>