基于我的搜索,当您想使用仅使用ng-show或ng-hide的angularjs隐藏html中元素的可见性时。在我的页面中,我有一个使用ng-repeat生成的表。每行都有一个按钮“show check”。单击按钮时,ID旁边应显示“CHECK”字样。 Ng-show工作正常,除非我单击ID为1的行中的按钮时所有行都显示CHECK,CHECK字应该只显示在我单击按钮的行中。缺什么?我尝试传递关键参数,但它不起作用。任何意见和建议将不胜感激。感谢
我的小提琴是:https://jsfiddle.net/DharkRoses/wydyagao/
到目前为止我使用了这段代码:
$scope.myVar = true;
$scope.toggleShow = function(key){
alert(key);
$scope.myVar =!$scope.myVar;
};
答案 0 :(得分: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;
};