我有cmdate
过滤器,用于在ng-rpeat中显示日期。
但是ng-repeat
在日期列中显示为空
过滤
app.filter('cmdate', [
'$filter', function ($filter) {
return function (input, format) {
return $filter('date')(new Date(input), format);
};
}
]);
标记
<tbody>
<tr data-ng-repeat="o in CustomerCarePreviousFeedBack">
<td>{{o.Date | cmdate:'dd/MM/yyyy'}}</td>
<td>{{o.FeedBackDetail}}</td>
</tr>
</tbody>
答案 0 :(得分:1)
您不需要针对此类情况的自定义过滤器
因为此行$filter('date')(new Date(input), format);
可以完成您想要的操作。
这是$filter('date')(new Date(input), format);
默认角度过滤器,因此您只需从代码中调用它
只需尝试将此更改cmdate
改为date
<tbody>
<tr data-ng-repeat="o in CustomerCarePreviousFeedBack">
<td>{{o.Date | date:'dd/MM/yyyy'}}</td>
<td>{{o.FeedBackDetail}}</td>
</tr>
</tbody>
更多详情,请转到以下链接
https://docs.angularjs.org/api/ng/filter/date
http://www.angulartutorial.net/2014/04/date-filtering-and-formatting-in.html
答案 1 :(得分:0)
正如Ramesh Rajendran所说,他们的内置过滤器名为date,但如果您需要编写自己的自定义过滤器,请检查以下内容是否正常。
app = angular.module('myModule', []);
app.controller('MyController', ['$scope',function($scope) {
$scope.CustomerCarePreviousFeedBack = [{
Date: new Date(),
FeedBackDetail: "FeedBack Details"
}];
}]);
app.filter('cmdate', ['$filter', function($filter) {
return function(input, format) {
return $filter('date')(new Date(input), format);
}
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<div ng-app="myModule" ng-controller="MyController">
<table>
<tr data-ng-repeat="o in CustomerCarePreviousFeedBack">
<td>{{ o.Date | date:'dd/MM/yyyy'}}</td>
<td>{{o.FeedBackDetail}}</td>
</tr>
</table>
</div>