Angularjs:自动更新日期差异?

时间:2017-05-30 23:53:28

标签: angularjs

我使用的是角度1.6.1,我想自动更新日期差异。

这是计算日期差异的服务

angular.module("utils", [])
.service('utils', function ($location) {

    this.correctDate = function(date) {
        var s = date.replace('T', ' ');
        return s.replace('.000Z', ' ');
    }

    this.dateDiff = function(date) {
        var oneMinute = 60*1000;
        var oneHour = 60*60*1000;
        var oneDay = 24*60*60*1000;
        var oneWeek = 24*60*60*1000*7;
        var oneMonth = 24*60*60*1000*30;
        var now = new Date();
        var d = new Date(date);
        var tNow = now.getTime();
        var tDate = d.getTime();
        if((tNow - tDate) / oneMonth >= 1){
            return Math.floor((tNow - tDate) / oneMonth) + " months";
        }
        if((tNow - tDate) / oneDay >= 1){
            return Math.floor((tNow - tDate) / oneDay) + " days";
        }
        if((tNow - tDate) / oneHour >= 1){
            return Math.floor((tNow - tDate) / oneHour) + " hours";
        }
        if((tNow - tDate) / oneMinute >= 1){
            return Math.floor((tNow - tDate) / oneMinute) + " minutes";
        }
        return "now";
    }
})

这是视图

<div class="post__date">
    <time class="published">
        {{dateDiff(correctDate(article.createdAt))}}
    </time>
</div>

现在只有当我在应用中的任意位置点击时,日期差异才会更新,我甚至不明白为什么。所以我有两个问题:

1)为什么每次点击我的角应用中的任何地方都会更新日期差异? (每当我点击app中的任何地方时,角度是否会触发完整的摘要?)

2)如何自动更新日期差异?

0 个答案:

没有答案