使用AngularJS和javascript显示/隐藏数组中的元素

使用AngularJS和javascript显示/隐藏数组中的元素,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我想在ng repeat中单击某个项目时显示额外信息,并在Mouseleve上隐藏该项目 在下面的代码片段中,当用户单击另一个项目时,也会打开第一个项目的额外信息 代码片段 我想一次只显示一个项目的额外信息 请帮助我更正我的代码片段 问题是this.showDelete控件一次显示所有元素字符串 更正的代码段 var app=angular.moduleapp,[]; 应用程序控制器'Ctrl',函数$scope{ $scope.items=[{object:'object1'},{objec

我想在ng repeat中单击某个项目时显示额外信息,并在Mouseleve上隐藏该项目

在下面的代码片段中,当用户单击另一个项目时,也会打开第一个项目的额外信息

代码片段

我想一次只显示一个项目的额外信息

请帮助我更正我的代码片段

问题是this.showDelete控件一次显示所有元素字符串

更正的代码段

var app=angular.moduleapp,[]; 应用程序控制器'Ctrl',函数$scope{ $scope.items=[{object:'object1'},{object:'object2'},{object:'object3'}]; $scope.onClick=functionitem{ item.showDelete=true; $.Close.fadeIn; } $scope.onLeave=functionitem{ item.showDelete=false; $.Close.fadeOut; } }; {{item.object} 删去
您应该使用$scope.showDelete而不是this.showDelete。如果showDelete是该对象的一个属性,您应该使用:ng show=Clickitem.object.showDelete,并且在函数中:showdele=true$scope.showDelete将显示完整的ng repeat中的所有删除按钮,而不仅仅是我刚才单击的按钮,即我确实遇到的问题,非常优雅的解决方案。作品非常感谢你的帮助,伊瓦尔德
$scope.Click = function (object) {
    console.log("Clicked")
    this.showDelete = true;
    $(".Close").fadeIn(); // <- this did not work actually
}

$(document).mouseup(function (e) {
   !$(e.target).closest('.Close').length && $('.Close').fadeOut();
});

<div ng-repeat="item in items">
   <div ng-click="Click()">{{item.object}}</div>
   <div class="button Close" ng-show="showDelete">delete</div>
</div>