2015-02-16 3 views
0

На основе моих поисков, когда вы хотите скрыть видимость элемента в html с помощью угловых js только что используемых ng-show или ng-hide. На моей странице у меня есть таблица, сгенерированная с помощью ng-repeat. Каждая строка имеет кнопку «show check». При нажатии кнопки слово «ПРОВЕРКА» должно отображаться рядом с идентификатором. Ng-show работает отлично, за исключением случаев, когда я нажал кнопку в строке с идентификатором 1, все строки отображают CHECK, слово CHECK должно отображаться только в строке, где я нажимаю кнопку. Чего не хватает? Я пытаюсь передать ключевой параметр, но он не работает. Любые советы и предложения будут оценены. БлагодаряКак показать определенный элемент в ячейках таблицы с помощью angularjs

Моя скрипка является: https://jsfiddle.net/DharkRoses/wydyagao/

Я использовал этот код до сих пор:

$scope.myVar = true; 
$scope.toggleShow = function(key){ 
    alert(key); 
    $scope.myVar =!$scope.myVar; 
}; 
+0

вы должны связать 'myVar' для каждой строки вместо того чтобы использовать такой же. – Rebornix

ответ

1

Вы должны добавить myVar для каждого пользователя в ng-repeat списке.

<tr ng-repeat="user in users"> 
      <td><p ng-show ="user.myVar">CHECK</p>{{user.id}}</td> 
      <td>{{user.name}}</td> 
      <td>{{user.stat}}</td> 
      <td><button id ="btn" ng-click = "toggleShow(user)">show check</button>     </td> 
</tr> 

Затем в контроллере

$scope.toggleShow = function(user){ 
    alert(user.myVar); 
    user.myVar =!user.myVar; 
}; 
+0

Что делать, если я изменю слово «ПРОВЕРИТЬ» на изображение. , Может ли привязка все еще работает? –

+0

да из coz. Директива 'ng-if' может работать на всех элементах, независимо от того, что это' div', 'img' или обычный текст. – Rebornix

+0

NgShow ngIf, они работают для всех элементов. – Rebornix

Смежные вопросы