加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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>

而不是遍历返回的数组,然后应用过滤器

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读