В vue.js используйте формат timeago.

  • Автор темы NAL1
  • 21
  • Дата начала

NAL1

Пользователь
Регистрация
28.08.11
Сообщения
2
Реакции
0
Баллы
1
Привет,
В vue.js(2.5) я хочу вывести некоторые свойства, разделенные запятыми, например:



<timeago :since="nextUserChatMessage.created_at" :auto-update="60"></timeago>


Код (разметка): Но поскольку некоторые значения могут быть пустыми, я бы хотел пропустить пустую запятую в результирующей строке, поэтому мне нужна какая-то процедура для работы с пустыми полями.

Обычным способом для этого может быть установка всех параметров в
<div v-if="users_list_block_visible && participantUsersList.length > 0" > ... {{ participantUserInfo(participantUser) }} ... </div> methods: { participantUserInfo(user) { var dataArray = [ " ", user['first_name']+' '+user['last_name'], user['user_status_label'], user['visited_at'] ] return this.concatStrings(dataArray, ', '); // that is my function for concatinating - ok with it ...
Код (разметка):
Вопрос в том, что мне нужно, чтобы поле visit_at отображалось в формате «С момента», используя это https://github.com/egoist/vue-timeago библиотека

Когда мне нужно показать время создания сообщения, я делаю
&nbsp;( {{participantUser.first_name}} {{participantUser.last_name}}, {{participantUser.user_status_label}}, {{participantUser.user_status_label}} )<br>
Код (разметка): Но поскольку поле visit_at может быть пустым, мне также нужно включить его в массив dataArray для concatStrings.
Есть ли способ вызвать функциональность timeago для visit_at в функции javascript участникаUserInfo или сделать это каким-то другим способом?
В vue.js используйте формат timeago.
Я думал о вычислительных методах, но так ли это в этом случае? вычисленные методы, похоже, не имеют параметров....

надеюсь понятно выразился....

Спасибо!
 

viprus1

Пользователь
Регистрация
05.07.14
Сообщения
3
Реакции
0
Баллы
1
Во-первых, вы используете объект, имена не нарушают пространство имен свойств/методов JS, просто используйте метод объекта.

Во-вторых, и я редко это говорю... это работа по хардкодингу. ПРЕДПОЛАГАЯ, что имя всегда существует:

Код:
participantUserInfo(user) {
var result = user.first_name + ' ' + user.last_name;
if (user.user_status_label) result += ', ' + user.user_status_label;
if (user.visited_at) result += ', ' + user.visited_at;
return result;
}
Код (разметка): Иногда автоматизация не поможет вам.

Тем не менее, ЕСЛИ бы я автоматизировал это, создав массив, я бы предложил использовать join вместо concatStrings.
 
Сверху Снизу