Angulad ng-time-ago返回相同的值

时间:2017-03-20 22:53:32

标签: angularjs ionic-framework momentjs angular-moment

即使我将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来显示指令时间,但问题是即使传递的值不同,它也不会返回不同的值。

传递值:

Passed value 1

Passed value 2

返回值:

Return 1

Return 2

2 个答案:

答案 0 :(得分:1)

moment.js可以在Date构造函数中使用秒或毫秒,但毫秒是默认值。你经过了几秒钟。 所以,你可以乘以1000,或者使用moment.unix(timestamp)而不是moment(timestamp)

在Angular中,这将是:

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

答案 1 :(得分:1)

在您的情况下,您可以使用amFromUnix flter:

  

将unix-timestamp(自1970年1月1日起的秒数)转换为时刻对象。

这是一份工作样本:

&#13;
&#13;
angular.module('MyApp',['angularMoment'])
.controller('AppCtrl', function($scope) {
  $scope.story = {};
  $scope.story.created_utc = 1490029481;
});
&#13;
<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>
&#13;
&#13;
&#13;