javascript - v-for中按升序对数据进行排序

标签 javascript vue.js

我在尝试在 v-for 循环中按日期对数据数组进行排序时遇到问题。我尝试了 orderBy 但没成功。

这是简化的 v-for 循环:

<div v-for="article in articles">
   <div class="article-date">{{ article.dateYear }}/{{ article.dateMonth }}</h1>
   <h1>{{ article.title }}</h1>
   <h3>{{ article.description }}</h3>
</div>

我的基本计算属性:

 articles() {
       return this.$store.state.articles;
 }

每篇文章都有一个 dateDay、dateMonth 和 dateYear,所以我想做的是 date =article.dateYear +article.dateMonth +article.dateDay 并使用 date 变量和 orderBy,但它没有成功。

这是更好的方法吗?

感谢您的宝贵时间!

最佳答案

在文章帮助程序中,首先对文章进行排序:

articles() {
    const { articles } = this.$store.state;
    articles.sort(function(a,b){
        return new Date(b.date) - new Date(a.date);
    });
    return articles;
}

关于javascript - v-for中按升序对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52624034/

相关文章:

javascript - LoDash 挑战,我有一组需要过滤的对象,用于一组值

javascript - Angular ag-Grid : how to autogenerate default template for cell but with different name of field?

vue.js - Vue 2 vue-router 2 laravel 5.3 问题

javascript - 开发无重定向 URI 的 Chrome 扩展

javascript - 悬停时预加载页面并单击链接

javascript - Vue.js - 单击按钮时迭代数据对象

vue.js - 当路由器处于历史模式时 PWA 不加载(基于 Vue CLI 3 的项目)

javascript - 在 Vue 中使用 D3/没有选择器?

javascript - vue元素表绑定(bind)选中行

javascript - Sublime Text,在对象点上显示 Intellisense