angularjs – Angular JS日期过滤器不工作
发布时间:2020-12-17 08:15:49 所属栏目:安全 来源:网络整理
导读:我有一个ng-repeat元素,它将循环$ http.get()结果。 tr ng-repeat="blog in posts" td style="text-align:center"{{ $index+1 }}/td td{{ blog.title }}/td td {{ blog.author.name }} /td td {{ blog.created_at | date:'MMM-dd-yyyy' }} /td/tr 我在MySQL
我有一个ng-repeat元素,它将循环$ http.get()结果。
<tr ng-repeat="blog in posts"> <td style="text-align:center">{{ $index+1 }}</td> <td>{{ blog.title }}</td> <td> {{ blog.author.name }} </td> <td> {{ blog.created_at | date:'MMM-dd-yyyy' }} </td> </tr> 我在MySQL数据库表中创建了timestamp的时间戳。而我正在使用angular.js v1.0.7。 我从db表获得相同的输出,日期过滤器不起作用。我该如何解决? 我的ajax电话, $http({method: 'GET',url: 'http://localhost/app/blogs'}). success(function(data,status,headers,config) { $scope.posts = data.posts; }). error(function(data,config) { $scope.posts = []; });
传递给过滤器的日期需要为JavaScript Date类型。
你检查过blog.created_at的值是否显示为没有过滤器? 你说你支持的服务正在返回一个表示日期的字符串。您可以通过两种方式解决此问题: >使您的服务器端代码返回一个json日期对象 检查服务器端代码如何序列化返回的json >编写自己的过滤器,接受字符串日期并返回所需格式的日期 >注意:您可以在自己的过滤器中调用角度过滤器 您可以编写自己的过滤器如下: app.filter('myDateFormat',function myDateFormat($filter){ return function(text){ var tempdate= new Date(text.replace(/-/g,"/")); return $filter('date')(tempdate,"MMM-dd-yyyy"); } }); 并在您的模板中使用它: <td> {{ blog.created_at | myDateFormat }} </td> 而不是遍历返回的数组,然后应用过滤器 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容