Search code examples
angularjsionic-frameworkmomentjsangular-moment

Angulad ng-time-ago returns same value


Even I added angularMoment module to my app.js

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

I also imported it from 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>

I want to show directive time by passing this: {{story.created_utc}} to am-time-ago, but the problem is that it doesn't return different value even if passed values are different.

Passed values:

Passed value 1

Passed value 2

Returned values :

Return 1

Return 2


Solution

  • In your case you can use amFromUnix flter that:

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

    Here a working sample:

    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>