vue 时间戳倒计时 写在filters里了但是值return 不出去

发布于 2022-09-11 20:41:14 字数 1684 浏览 9 评论 0

dataStr这个参数是从后台取出来的时间戳

<p>距离结束:{{Number(j.endTime) | dateFormat}}</p>
filters: {
            dateFormat: (dataStr) => {
                let result = 0;
                var Weeks = 7 * 24 * 60 * 60 * 1000,
                    Days = 24 * 60 * 60 * 1000,
                    Hours = 60 * 60 * 1000,
                    Minutes = 60 * 1000,
                    Seconds = 1000;
                timer();
                var id = setInterval(timer, 1000);
                function addZero(num) {
                    return num < 10 ? "0" + num : "" + num;
                }
                function timer() {
                    var current = new Date();
                    var setDate = new Date(dataStr);
                    var currentDate = setDate - current;
                    var WeekTimer = addZero(Math.floor(currentDate / Weeks)),
                        DayTime = addZero(Math.floor(currentDate % Weeks / Days)),
                        HourTime = addZero(Math.floor(currentDate % Days / Hours)),
                        MintueTime = addZero(Math.floor(currentDate % Hours / Minutes)),
                        SecondTime = addZero(Math.floor(currentDate % Minutes / Seconds));
                    var range = WeekTimer + DayTime + HourTime + MintueTime + SecondTime;
                    
                    if (currentDate <= 0) {
                        clearInterval(id);
                    }
                    return DayTime + '天' + HourTime + '小时' + MintueTime + '分' + SecondTime;
                };
            }
        },

第一个问题是 过滤器 最终的值return 不出来
第二个问题是想把每个天 时 分 秒 都单独取出来
求教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

属性 2022-09-18 20:41:14

return timer()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文