Angulad ng-time-ago returns 相同的值

Angulad ng-time-ago returns same value

甚至我将 angularMoment 模块添加到我的 app.js

var app = angular.module('myreddit', ['ionic', 'angularMoment']);

我也是从index.html

导入的
<script src="lib/moment/moment.js"></script>
<script src="lib/moment/locale/en-gb.js"></script>
<script src="lib/angular-moment/angular-moment.js"></script>

我想通过将此 {{story.created_utc}} 传递给 m-time-ago 来显示指令时间,但问题是即使传递的值不同,它也不会 return 不同的值.

传递的值:

返回值:

moment.js 可以在 Date 构造函数中使用秒或毫秒,但默认为毫秒。你正在过秒。 因此,您可以乘以 1000,或者使用 moment.unix(timestamp) 而不是 moment(timestamp)

在 Angular 中,类似于:

<span am-time-ago="message.unixTime | amFromUnix">

在您的情况下,您可以使用 amFromUnix 过滤器:

Converts a unix-timestamp (seconds since 1/1/1970) into a moment object.

这是一个工作示例:

angular.module('MyApp',['angularMoment'])
.controller('AppCtrl', function($scope) {
  $scope.story = {};
  $scope.story.created_utc = 1490029481;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.9/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-moment/1.0.1/angular-moment.min.js"></script>

<div ng-app="MyApp" ng-controller="AppCtrl">
  <span am-time-ago="story.created_utc | amFromUnix"></span>
</div>