我有一个像这样的数组
$scope.mentors = [ {"name":"Jonathan", "status":0},
{"name": "Nathan","status":1},
{"name": "Chris","status":1},
{"name": "Brian","status":0}];
这里是我的观看代码
<div ng-repeat="m in mentors">
<div ng-if="m.status == '1'">
<div>
{{m.name}}
</div>
</div>
</div>
我的结果是: 内森和克里斯
我能做些什么来让它显示内森或克里斯 它必须只仅显示一个结果
p / s:已经尝试了ng-show =&#34; $ last&#34;它没有用,因为布莱恩的状态是&#39; 0&#39;
答案 0 :(得分:2)
您可以使用limitTo和过滤器
<div ng-repeat="m in mentors | filter: { status : '1'}| limitTo : 1">
<div>
{{m.name}}
</div>
</div>
答案 1 :(得分:1)
您可以在状态上过滤数组,然后通过检查$ index
来获取第一个数组
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html>
<body ng-app="app">
<div ng-controller="myCtrl">
<div ng-repeat="m in mentors | filter : {status: 1}">
<div ng-if="$index == 0">
<div>
{{m.name}}
</div>
</div>
</div>
</div>
</body>
</html>
result = next.get();
return result.getReliabilityStrategy().getActiveLoggerConfig(next);
答案 2 :(得分:0)
如果您只需要显示1个项目,则没有理由使用ng-repeat
。
您应该在控制器中处理此问题。创建一个新变量,用于保存您想要显示的导师。
要查找Nathan,您可以使用Array#find()
。它将返回与条件status === 1
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.mentors = [{
"name": "Jonathan",
"status": 0
},
{
"name": "Nathan",
"status": 1
},
{
"name": "Chris",
"status": 1
},
{
"name": "Brian",
"status": 0
}
];
$scope.mentor = $scope.mentors.find(m => m.status === 1);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<h1>{{mentor.name}}</h1>
</div>
&#13;