javascript - 根据 ng-repeat 中的条件禁用 div

标签 javascript angularjs angularjs-ng-repeat

我有一个重复 n 次的 ng-repeat..

HTML:

<div ng-repeat="item in items">
<fieldset ng-disabled="item.activityId==lockResourceId">
<div>Hello</div>
</fieldset>
</div>

Controller :

onWebSocketFired();
  function onWebSocketFired(isLock){
        $scope.lockResourceId=isLock;
}

这里每次使用 lockResourceId 触发 onWebSocketFired() 函数时,如果它等于 item.activityId,则 div 将被禁用。 现在,在每次调用 onWebSocketFired() 时,ng-repeat 内的一个 div 都会发生这种情况。但我想保留之前禁用的字段,直到并且除非调用了任何其他调用。 有人可以提出修复建议吗?

最佳答案

由于您希望在新字段集也被禁用时保持先前禁用的字段集处于禁用状态,因此您希望以数组或对象的形式存储 lockResourceId

<div ng-repeat="item in items">
  <fieldset ng-disabled="lockResourceId[item.activityId]">
    <div>Hello {{ item.activityId }}</div>
    <input type="checkbox">
  </fieldset>
</div>

然后在 Controller 中你会像这样使用它:

$scope.lockResourceId = {};

// Lock some id
$scope.lockResourceId[id] = isLock;

关于javascript - 根据 ng-repeat 中的条件禁用 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36909619/

相关文章:

javascript - 在MooTools中,.implement和.prototype有什么区别

javascript - 如何检查值是否是 Angular 模板中的对象?

javascript - 在java spring中将文件上传到tomcat服务器时访问被拒绝

javascript - Angular 中的 JSON 数据

angularjs - 按 child 筛选收藏

javascript - map 内的三元运算符

javascript - HighCharts 列上的多个系列数据

javascript - angular.js 中的静态插值与动态插值及其性能

angularjs - ng-if,不等于?

javascript - 使用 array.push() 时,Ng-repeat 似乎没有为每个项目创建单独的范围