【发布时间】:2017-07-13 21:03:16
【问题描述】:
HTML:
<div class="displayImgData col-sm-3" ng-repeat="item in profileData" >
<a ng-show="onLoadFav" title="Make as Favourite">
<img class="styleright" src="assets/images/unfavourite.png" ng-if="(item.favourite ==0)" ng-click="favouriteUser(item.userid);">
</a>
<a ng-show="onLoadUnFav" title="Favourite">
<img class="styleright" src="assets/images/favourite.png" ng-if="(item.favourite ==1)" ng-click="unfavouriteUser(item.userid);" >`
</a>`
<a ng-show="newFav" title="Make as Favourite">
<img class="styleright" src="assets/images/unfavourite.png" ng-click="favouriteUser(item.userid);">
</a>
<a ng-show="newUnFav" title="Favourite">
<img class="styleright" src="assets/images/favourite.png" ng-click="unfavouriteUser(item.userid);" >
</a>
</div>
JS:
$scope.onLoad = function(){
$scope.profileData = [{'favourite':0,'userid':1},{'favourite':0,'userid':2},{'favourite':1,'userid':3}]
};
$scope.onLoadFav = false;
$scope.onLoadUnFav = false;
$scope.newFav = false;
$scope.newUnFav = true;
$scope.unfavouriteUser= function(){
UserService.getSocialMedia(json).then(function (res) {
if(res.statuscode == 0){
$scope.onLoadFav = false;
$scope.onLoadUnFav = false;
$scope.newFav = false;
$scope.newUnFav = true;
}
});
};
我有onload(),我在加载页面时调用它,如果item.favourite == 1在我的$scope.profileData 中,我将启用我的favourite.png,如果item.favourite == 0 启用unfavourite.png。如果我想单独制作一个特定的记录不受欢迎。我正在使用 unfavourite() 并且我从后端得到响应为 success 。如果我再次调用onload(),就像再次重新加载整个页面一样。所以我分别在html中给出ng-show = onLoadFav ,onLoadUnFav, newFav, newUnFav以使其相应地启用图标。但问题是,因为它在ng-repeat中所有图标都已启用或 disabled ,而不是特定的。如何在 ng-repeat 中为特定索引处理 ng-show
【问题讨论】:
-
stackoverflow.com/questions/42270597/…在这里查看ng-repeat的答案和详细解释
标签: angularjs ng-repeat ng-show