过滤angularjs中ng repeat内数组的第一个值
如何使用过滤angularjs中ng repeat内数组的第一个值,angularjs,json,angularjs-ng-repeat,Angularjs,Json,Angularjs Ng Repeat,如何使用angularjs过滤ng repeat中的josn行的第一个元素。 我被这件事缠住了 我的示例代码是: <!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="
angularjs
过滤ng repeat
中的josn
行的第一个元素。
我被这件事缠住了
我的示例代码是:
<!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="namesCtrl">
<div>
<div ng-repeat="x in num| orderBy:'n'">
<b>{{x.n}}</b>
<div ng-repeat="y in amt | orderBy:'v'">
<div ng-if="x.n==y.n">
<div>{{y.v}}</div>
</div>
</div >
<br />
</div>
<script>
angular.module('myApp', []).controller('namesCtrl', function($scope) {
$scope.num= [
{n:'3'},
{n:'1'},
{n:'2'},
];
$scope.amt= [
{n:'1',v:'23'},
{n:'1',v:'24'},
{n:'1',v:'45'},
{n:'2',v:'56'},
{n:'2',v:'67'},
{n:'2',v:'45'},
{n:'3',v:'23'},
{n:'3',v:'67'},
{n:'3',v:'19'},
];
});
</script>
</body>
</html>
{{x.n}}
{{y.v}}
角度.module('myApp',[]).controller('namesCtrl',function($scope){
$scope.num=[
{n:'3'},
{n:'1'},
{n:'2'},
];
$scope.amt=[
{n:'1',v:'23'},
{n:'1',v:'24'},
{n:'1',v:'45'},
{n:'2',v:'56'},
{n:'2',v:'67'},
{n:'2',v:'45'},
{n:'3',v:'23'},
{n:'3',v:'67'},
{n:'3',v:'19'},
];
});
结果是1
23
24
45
2
45
56
67
3
19
23
67
我只是一个结果。第一个值 比如:
1
23
2
45
3
19
请帮助…您应该创建自定义筛选功能:
$scope.myFilter = function (x) {
return function (y) {
if (x.n==y.n) {
return true;
} else {
return false;
}
}
};
在内部ng中使用它重复:
<div ng-repeat="y in amt | orderBy:'v' | filter:myFilter(x) | limitTo:1">
<div>{{y.v}}</div>
</div >
{{y.v}}
此外,要获得前1个结果,请添加标准Limito筛选器(Limito:1),其中第一个参数设置最大返回计数。您应该创建自定义筛选器函数:
$scope.myFilter = function (x) {
return function (y) {
if (x.n==y.n) {
return true;
} else {
return false;
}
}
};
在内部ng中使用它重复:
<div ng-repeat="y in amt | orderBy:'v' | filter:myFilter(x) | limitTo:1">
<div>{{y.v}}</div>
</div >
{{y.v}}
另外,要获得前1个结果,请添加标准的limito过滤器(limito:1),其中第一个参数设置最大返回计数。
(...)
(...)
{{object.get(“元素”)}
{{(object.get(“element2”).innerElement}
(...)
(...)
这3个点意味着有一些代码被删掉了。“element2”是一个内部带有JSON的元素。“内部元素”是关键。这对我很有用,希望对别人有用
(...)
(...)
{{object.get(“元素”)}
{{(object.get(“element2”).innerElement}
(...)
(...)
这3个点意味着有一些代码被删掉了。“element2”是一个内部带有JSON的元素。“内部元素”是关键。这对我来说很有效,希望对某些人有用这种策略效率很低:对于每个x.n,它在整个amt
数组中循环,只显示一个元素。为什么不在JS代码中只找到一次要显示的元素呢?请参考此链接可能对您有用。这种策略的效率非常低:它为每个x.n循环整个amt
数组,只显示一个元素。为什么不在JS代码中只找到一次要显示的元素呢?请参考此链接可能对您有用。这对我来说太完美了。。这段代码解决了我的多重问题。。。谢谢Slavat这对我来说太完美了。。这段代码解决了我的多重问题。。。谢谢你花时间回答。请尝试正确设置代码格式,并可能添加更多解释谢谢您花时间回答。尝试正确地格式化代码,并可能添加一些解释