@Sashjkeee
f-e

Сортировка по блокам в зависимости от даты?

Здравствуйте, подскажите пожалуйста, можно как-то отсортировать данные по блокам в зависимости от даты?
Пример того, что нужно

"data": [
    {
        "datetime": "2018-05-28 21:33:55",
        "text": "Voluptatem culpa cumque nam sint eos. Cumque occaecati sed ipsam atque quo fugiat qui. Delectus sed incidunt voluptate sunt sint est. Id ad aspernatur hic. Ab illo corrupti aspernatur quo aut.",
        "type": 1
    },
    {
        "datetime": "2018-05-27 07:54:21",
        "text": "Sunt deserunt fugit similique facere enim possimus. Occaecati est accusamus temporibus sit omnis fugit labore. Sit cumque recusandae magnam sint et aliquid nam beatae.",
        "type": 1
    },
    {
        "datetime": "2018-05-26 08:12:57",
        "text": "Accusantium nihil consectetur ab ea quia velit. Labore non iusto culpa dolor non ex earum. Rerum qui error soluta quo est sed perferendis. Ad aperiam animi id dolor inventore.",
        "type": 1
    }
],


Есть такой вот массив данных.
И есть такая верстка
<div class="right_menu_block">
    <div class="right_menu_block_title">Сегодня</div>
    <div class="right_menu_item normalItem" v-for="(item, index) in notifications" :key="index">
        <div class="right_menu_item_left">
            <div class="right_menu_item_left_icon"></div>
        </div>
        <div class="right_menu_item_right">
            <a href="#" class="right_menu_item_right_text">
                {{ item.text }}
            </a>
            <div class="right_menu_item_right_time">{{ item.datetime }}</div>
        </div>
    </div>
</div>
<div class="right_menu_block">
    <div class="right_menu_block_title">Вчера</div>
    <div class="right_menu_item normalItem" v-for="(item, index) in notifications" :key="index">
        <div class="right_menu_item_left">
            <div class="right_menu_item_left_icon"></div>
        </div>
        <div class="right_menu_item_right">
            <a href="#" class="right_menu_item_right_text">
                {{ item.text }}
            </a>
            <div class="right_menu_item_right_time">{{ item.datetime }}</div>
        </div>
    </div>
</div>


Можно как-то в зависимости от даты отсортировать данные из массива по этим блокам?
То есть в блок "Сегодня" уходит 2018-05-28
В блок "Вчера" 2018-05-27
  • Вопрос задан
  • 810 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега Vue.js
Можно как-то в зависимости от даты отсортировать данные из массива по этим блокам?
То есть в блок "Сегодня" уходит 2018-05-28
В блок "Вчера" 2018-05-27

Да запросто - сделайте несколько computed свойств, соответствующих нужным дням, простая фильтрация массива по дате. И в каждом из блоков используйте соответствующее свойство вместо исходного массива.
Ответ написан
Комментировать
muzikant777
@muzikant777
PHP/Vue разработчик
Сделайте два вычисляемых свойства: todayNotifications и yesterdayNotifications:

computed: {
  todayNotifications () {
    return this.notifications.filter(notification => moment(notification.datetime).isSame(Date.now(), 'day'))
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы