![](/img/trans.png)
[英]Filter data in ng-repeat to display only the clicked item with Angularjs
[英]How to display loader symbol ONLY beside a specific item which was clicked in ng-repeat
这里的问题是,加载器符号正显示在ng-repeat数组中每个项目的旁边。 如何在单击的项目旁边显示加载程序符号
我尝试使用$index
但没有运气。
我使用CodePen创建了一个工作示例。 任何人都可以指导如何做。
以下是我的应用摘录。
HTML代码
<ul>
<li class="listItems" ng-repeat="user in userDetails">
{{user.name}}, {{user.job}}
<span class="glyphicon glyphicon-ok markAsChecked" ng-click="markAsChecked()"></span>
<span ng-show="isLoaderActivated" class="glyphicon glyphicon-repeat loader"></span>
</li>
</ul>
JS代码
$scope.markAsChecked = function() {
console.log("clicked");
$scope.isLoaderActivated = true;
$timeout(function() {
return ($scope.isLoaderActivated = false);
}, 2000);
};
您可以找到解决方案CodePan
HTML代码
<ul>
<li class="listItems" ng-repeat="user in userDetails">
{{user.name}}, {{user.job}}
<span class="glyphicon glyphicon-ok markAsChecked" ng-click="markAsChecked(user)"></span>
<span ng-show="user.isLoaderActivated" class="glyphicon glyphicon-repeat loader"></span>
JS代码
$scope.markAsChecked = function(item) {
console.log("clicked");
item.isLoaderActivated = true;
$timeout(function() {
item.isLoaderActivated = false;
}, 2000);
};
您可以在示例中将object
作为user
传递给函数,然后对其执行操作,而不是全局的$scope
HTML:
<li class="listItems" ng-repeat="user in userDetails">
{{user.name}}, {{user.job}}
<span class="glyphicon glyphicon-ok markAsChecked" ng-click="markAsChecked(user)"></span>
<span ng-show="user.isLoaderActivated" class="glyphicon glyphicon-repeat loader"></span>
</li>
控制器:
$scope.markAsChecked = function(item) {
console.log("clicked");
item.isLoaderActivated = true;
$timeout(function() {
item.isLoaderActivated = false;
}, 2000);
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.