gpt4 book ai didi

javascript - 将 AngularJS $filter 与 ng-disabled 一起使用

转载 作者:行者123 更新时间:2023-11-28 01:48:38 25 4
gpt4 key购买 nike

我的 $scope 中有一个对象,其中包含大量有关选举的详细信息。该对象包含一个 voters 对象数组,每个对象都有一个 _id:

$scope.election = {
voters: [
{ _id: '123' },
{ _id: '456' },
{ _id: '789' }
]
}

此外,在我的范围内,我还有有关当前登录用户的详细信息:

$scope.user = { _id: '456' }

如何将 ng-disabled 绑定(bind)到对象数组 $scope.voters 中存在的 $scope.user._id

我尝试过的

我成功地简单地显示$scope.election.voters中存在$scope.user._id,如下所示(Jade语法):

pre(ng-bind="election.voters | filter:{user._id} | json")

当当前用户位于选民中时,他们就会被显示。当他们不在选民中时,我得到一个空数组。这看起来非常接近我想要的。

但是在禁用 ng 的情况下使用相同的过滤器(sans | json),我收到 Angular Infinite $digest loop 错误。

这个情况是不是太复杂了?我应该将其移至 $filter 吗?如果是这样,我将如何使其足够通用以在多种情况下有用(如果这甚至可行)?

最佳答案

可以直接在 Controller 中运行简单的过滤器,或使用app.filter('filterName', func...)创建可在标记中使用的自定义过滤器

$scope.userIsVoter = function() {
return $scope.election.voters.filter(function(el) {
return el._id == $scope.user._id;
}).length
}
<button ng-disabled="userIsVoter()">Do Something</button>

关于javascript - 将 AngularJS $filter 与 ng-disabled 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19991010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com