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

时间:2018-10-03 09:35:59

标签: 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一起使用,但无法解决。

这是更好的方法吗?

谢谢您的时间!

1 个答案:

答案 0 :(得分:1)

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

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

}