【发布时间】:2016-04-12 09:16:02
【问题描述】:
我想看看为什么一个非常简单的 Angular 过滤器在示例中不适合我。我在网上找到的所有内容都指向这种格式,但它似乎不起作用。 基本上,我只想要包含值“已完成”作为状态的数组的信息。这是我的代码:
<div class="span12" id="trainingWidget" ng-controller = "trainingInfo">
<div class="span3 pull-right">
<h4 class="theme-color">Available Courses</h4>
<table id="courseList">
<thead>
<tr>
<th>Location</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in training | limitTo : 6">
<td>{{item.location}}</td>
<td>{{item.date}}</td>
</tr>
</tbody>
</table>
</div>
<div class="span3 pull-right">
<h4 class="theme-color">Your Last Course</h4>
<div id="courseStatus">
<p ng-repeat="item in training | limitTo: 1 | filter: {status: completed}">Was completed on <span id="recentTrainingDate">{{item.completionDate}}</span><br />
<span id="recentTrainingTitle">{{item.name}}</span></p>
<p class="theme-color">STATUS</p>
<p><i class="icon icon-ok"></i> Up To Date</p>
</div>
</div>
</div>
这是 JSON:
[
{
"location": "Cincinnati, OH",
"date": "Feb 18, 2016",
"name": "ABC Certification",
"status": "future",
"completionDate": ""
},
{
"location": "Houston, TX",
"date": "Mar 1-3, 2016",
"name": "123 Certification",
"status": "future",
"completionDate": ""
},
{
"location": "Cincinnati, OH",
"date": "Apr 26-28, 2016",
"name": "Master Trainer Certification",
"status": "future",
"completionDate": ""
},
{
"location": "Houston, TX",
"date": "May 15-17, 2016",
"name": "ABC Certification",
"status": "future",
"completionDate": ""
},
{
"location": "Cincinnati, OH",
"date": "July 12-14, 2016",
"name": "123 Certification",
"status": "future",
"completionDate": ""
},
{
"location": "Houston, TX",
"date": "Sept 28-29, 2016",
"name": "Birkman Method® Certification Training",
"status": "future",
"completionDate": ""
},
{
"location": "Houston, TX",
"date": "Nov 9-11, 2015",
"name": "Birkman Method® Certification Training",
"status": "completed",
"completionDate": "July 15, 2015"
}
]
我不认为它是必要的,但这里是控制器 sn-p:
myBirkman.controller('trainingInfo', ['$scope', '$http', '$filter', function($scope, $http, $filter) {
$http.get('assets/js/lib/angular/trainingData.json').success(function(data) {
$scope.training = data;
});
}]);
第一个 ng-repeat 完美运行,但在第二个重复时,我只想显示第一个包含“完成”作为“状态”值的数组。非常感谢您的帮助。
【问题讨论】:
标签: javascript angularjs json filter