【问题标题】:Angulad ng-time-ago returns same valueAngular ng-time-ago 返回相同的值
【发布时间】:2017-03-20 22:53:31
【问题描述】:

即使我在 app.js 中添加了 angularMoment 模块

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

传递的值:

返回值:

【问题讨论】:

  • 能否请您提供完整的代码或plunkr链接,这将帮助我找到根本原因
  • @Pramod_Para 您到底需要哪个文件?
  • 您的自定义指令代码和呈现您的时间的模板代码(如果它不是指令的一部分并存储为单独的文件)。

标签: angularjs ionic-framework momentjs angular-moment


【解决方案1】:

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

将 unix 时间戳(自 1970 年 1 月 1 日以来的秒数)转换为时刻对象。

这是一个工作示例:

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>

【讨论】:

    【解决方案2】:

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

    在 Angular 中,会是这样的:

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

    【讨论】:

      猜你喜欢
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      相关资源
      最近更新 更多