比较两个数组与 ng 重复
Comparing Two Arrays with ng-repeat
我正在尝试使用 Array1 中的 ng-repeat 创建多个复选框,我想将"checked"属性(使用 ng-checked)应用于某些复选框,具体取决于 Array2 中是否有匹配项。
这里我们在控制器中有 array1:
$scope.possibleConditions = ["condition1", "condition2", "condition3", "condition4"];
然后 array2 来自同一个控制器,但通过 JSON API。
{
"treated" : false,
"data" : [{
"conditions" : ["condition1", "condition2"],
}]
}
这是我目前在模板中的ng重复设置:
<p ng-repeat="condition in possibleConditions">
<input type="checkbox" id="{{condition}}" />
<label for="{{condition}}">
{{condition}}
</label>
</p>
希望将属性checked
应用于输入,例如,如果在 Array2 的"条件"中找到 Array1 中的"条件 1"。
我尝试过:
1:我尝试在我的控制器之后使用过滤器(我在堆栈溢出上找到):
.filter('customArray', function($filter){
return function(list, arrayFilter, element){
if(arrayFilter){
return $filter("filter")(list, function(listItem){
return arrayFilter.indexOf(listItem[element]) != -1;
});
}
};
NG重复略有修改:
<p ng-repeat="conditions in possibleConditions | customArray:profileData.data:'conditions' ">
但这没有用。
2:我尝试在ng-repeat中使用另一个ng-repeat,然后根据第一个匹配项进行检查。
例:
<p ng-repeat="conditions in possibleConditions">
<input ng-repeat="condition in profileData.data[0].conditions | filter{condition == conditions}" type="checkbox" id="{{condition}}" />
<label ng-repeat="condition in profileData.data[0].conditions | filter{condition == conditions}" for="{{condition}}">
{{condition}}
</label>
</p>
希望有人可以帮助/指出一些指导。谢谢。
你在这里真的不需要过滤器,简单的ngChecked 指令可以工作:
<p ng-repeat="condition in possibleConditions">
<input type="checkbox" id="{{condition}}"
ng-checked="response.data[0].conditions.indexOf(condition) > -1" />
<label for="{{condition}}">
{{condition}}
</label>
</p>
演示:http://plnkr.co/edit/fDn0niCCljo5wChzYiwa?p=info
其中response
是来自 API 的数据。
相关文章:
- AngularJS-ng使用字符串索引在数组上重复
- angularjs ng基于点击时的数组值重复过滤器
- ng将数组重复解析为字符串
- Angularjs:ng重复对象数组
- 使用ng-src增强对象内部的数组
- 嵌套在 ng 重复中的拼接数组
- 如何检查 ng 类的数组中是否有某些内容
- 如何从 Angular ng-repeat 指令中检索数组中的某些索引
- 对象内部数组中的角度 ng 重复键
- ng-repeat不绑定ng-model对象数组
- 带有dataItem数组和angular ng点击的Kendo树列表模板
- 如何在数组中以ng个重复间隔应用新添加的对象
- ng单击从内部数组中删除项
- 多维数组的嵌套ng重复
- 更新数组后,ng重复双重渲染
- Ng重复不随数组变化而更新
- 动态更新数组 ng 重复
- Angular2多维数组ng-for不能工作
- 使用数组ng-model
- Angular:如何在锚标签数组(ng-repeat)中禁用锚标签