Angular只从数组中获取所需的数据
Angular get only required data from array
我有一个ng重复,它可以获取所有数据,但我只需要来自所提供的源的某些数据
HTML
<tr ng-repeat="val in values ">
<td ng-bind="$index"></td>
<td ng-bind="val.rec">ED1500322</td>
<td>working</td>
<td ng-bind="val.result">I am going to School</td>
<td>
<div class="radio">
<input ng-model="val.iscorrect" value="yes" type="radio">
<label for="opt1">yes</label>
<input ng-model="val.iscorrect" value="no" type="radio">
<label for="opt10">no</label>
</div>
</td>
</tr>
数据
$scope.values = [{
name: "John",
rec:234,
iscorrect: ''
}, {
name: "Paul",
rec:44,
iscorrect: ''
}, {
name: "George",
rec:2664,
iscorrect: 'no'
}, {
name: "Ringo",
rec:124,
iscorrect: 'yes'
}];
我们可以看到我有某些值,其中iscorrect="。我只希望相应的值在我的$scope.values和html 中
plunkerhttp://plnkr.co/edit/f0l7MHN7UAvOLNZ8BCjV?p=preview
感谢您在获取iscorrect="的数据方面提供的任何帮助。。。
所以你只想显示那些iscorrect=''的地方?
试试这个:
<tr ng-repeat="val in values" ng-if="!val.iscorrect">
修改了答案,将其从过滤器中删除,并使用ng if,后者更清洁plnkr
在ng-repeat
中使用以下内容来过滤值
<tr ng-repeat="val in getValues(values) ">
<td ng-bind="$index"></td>
<td ng-bind="val.rec">ED1500322</td>
<td>working</td>
<td ng-bind="val.result">I am going to School</td>
<td>
<div class="radio">
<input ng-model="val.iscorrect" value="yes" type="radio">
<label for="opt1">yes</label>
<input ng-model="val.iscorrect" value="no" type="radio">
<label for="opt10">no</label>
</div>
</td>
</tr>
然后在控制器中:
$scope.getValues = function (values) {
return values.filter(function (item) {
return item.iscorrect === '';
});
}
我建议不要使用过滤器,因为它们添加了很多观察者并触发摘要周期,这对UI性能不利
更新:添加plunkr链接:http://plnkr.co/edit/3GJZca8YLnW4P0BGulfq?p=preview
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myController">
<div ng-repeat="val in values | filter : val.iscorrect='no'">
<input ng-model="val.iscorrect" value="yes" type="radio">
<label for="opt1">yes</label>
<input ng-model="val.iscorrect" value="no" type="radio">
<label for="opt10">no</label>
</div>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myController", function($scope) {
$scope.values = [{
name: "John",
rec: 234,
iscorrect: 'no'
}, {
name: "Paul",
rec: 44,
iscorrect: 'yes'
}, {
name: "George",
rec: 2664,
iscorrect: 'no'
}, {
name: "Ringo",
rec: 124,
iscorrect: 'yes'
}];
});
</script>
</body>
</html>
相关文章:
- 使用jquery将mysql数据获取到新的表行中
- 使用createContainer将Meteor数据获取到React Native中时出现问题
- 创建按钮,根据表单字段中的数据获取特定的URL
- 将JSON API数据获取到html
- 将json数据获取到数组中
- 如何将具有多个标签的多个的所有数据获取到一个数组中
- 将状态的 URL 数据获取到模板中
- 如何在jquery中将xml解析数据获取为全局变量
- 在没有JQuery的情况下将JSON数据获取到TVML项目中
- Angular js如何将索引数据获取到另一个模板中
- 如何将PHP Post数据获取到jquery ajax请求中
- 使用javascript中.data()中存储的数据获取变量
- 无法将动态数据获取到 Jquery 饼图中
- 将节点.js neDB 数据获取到变量中
- 更新页面 JSON 数据获取下拉更改
- 将数据绑定到 kendo 下拉列表时,如何将 ajax 响应数据获取到变量
- 画布图像数据获取的值不超过 102,000 个
- 如何通过 JQuery JSON 数据获取 CheckBox(@Html.CheckBox) 的值
- 从html到jquery再到php,再从php到jquery到html,将数据传递到php文件并将数据获取到php文件中
- 如何将Jquery.get中的数据获取到Javascript中的一个变量中