Я не могу сравнить свою дату, используя MomentJs и Vue - PullRequest
0 голосов
/ 10 июня 2019

Я хотел бы узнать, если моя длительность> 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 Ответ

2 голосов
/ 10 июня 2019

Я предполагаю, что вы пытаетесь использовать moment3 в качестве функции фильтра Vue.

Здесь есть две проблемы:

  1. Вы не можете использовать функцию фильтрав выражении v-if.Они доступны только внутри выражения {{ ... }} или v-bind.
  2. Вы не можете помещать что-либо после функции фильтра, кроме аргументов функции или другой функции фильтра.Так что > 0 не допускается, даже если вы были в {{ ... }} или v-bind.

См. https://vuejs.org/v2/guide/filters.html

Символ | будет простов этом случае интерпретируется как побитовый оператор OR в JavaScript.

Возможно, вам лучше использовать вместо этого метод.Поэтому определите moment3 внутри methods вашего компонента, а затем вызовите его, используя v-if="moment3(event.time) > 0".

...