<tr ng-repeat="player in team.players">
<td>{{player.dateOfBirth}}</td>
...
由此我以这种格式取回出生日期:1987-01-24。我怎样才能从中获得这个年龄?
答案 0 :(得分:2)
将以下内容添加到您的控制器:
$scope.calculateAge = function(birthday) { // pass in player.dateOfBirth
var ageDifMs = Date.now() - new Date(birthday);
var ageDate = new Date(ageDifMs); // miliseconds from epoch
return Math.abs(ageDate.getUTCFullYear() - 1970);
}
然后,只需使用您的模型:
<tr ng-repeat="player in team.players">
<td ng-model="calculateAge(player.dateOfBirth)"></td>
答案 1 :(得分:2)
<强> HTML 强>
<td>{{ player.dateOfBirth | ageFilter }}</td>
<强> JS 强>
app.filter('ageFilter', function () {
function calculateAge (birthday) { // birthday is a date
var date = new Date(birthday);
var ageDifMs = Date.now() - date.getTime();
var ageDate = new Date(ageDifMs); // miliseconds from epoch
return Math.abs(ageDate.getUTCFullYear() - 1970);
}
return function (birthdate) {
return calculateAge(birthdate);
};
});
<强> JSFIDDLE 强>