我无法使用MomentJs和Vue比较我的日期

时间:2019-06-09 22:52:27

标签: vue.js momentjs

我想确定我的持续时间是否大于0。我使用MomentJs和Vue使用以下代码获取我的持续时间:

 moment3: function (date) {
  var now = moment();
  var day = moment(date);
  var duration = day.diff(now);
   return parseInt(duration);
  },

我正确地获得了持续时间(例如2987546325)。但是此代码仍然无法正常工作。

<a v-if="event.time | moment3 > 0"> Do somethingHere </a>

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我假设您正在尝试将moment3用作Vue过滤器功能。

这里有两个问题:

  1. 您不能在v-if表达式中使用过滤器功能。它们仅在{{ ... }}v-bind表达式中可用。
  2. 除了函数的参数或另一个过滤器函数外,您不能在过滤器函数后放置任何内容。因此,即使您在> 0{{ ... }}中,也不允许v-bind

请参见https://vuejs.org/v2/guide/filters.html

在这种情况下,|字符将被解释为JavaScript的按位OR运算符。

您最好只使用一种方法。因此,请在组件的moment3中定义methods,然后使用v-if="moment3(event.time) > 0"进行调用。