展示最新的WordPress文章,使用Vue实现
P粉331849987
2023-08-29 15:45:38
<p>我正在使用Vue重建我的WordPress博客。我正在尝试显示我的最近的3篇文章,我在这里进行了操作:</p>
<pre class="brush:php;toolbar:false;"><template>
<section>
<h4>最近的文章</h4>
<div class="posts-recent">
<div v-for="(post, index) in posts.slice(0, 3)" :key="post.id" class="post">
<div :key="index">
<nuxt-link :to="`/blog/${post.slug}`" class="post-image" :style="{ backgroundImage: 'url(' + post.fimg_url + ')' }"></nuxt-link>
<div class="post-text">
<nuxt-link :to="`/blog/${post.slug}`" class="post-title" v-html="post.title.rendered"></nuxt-link>
</div>
</div>
</div>
</div>
</section>
</template>
<script>
import { mapState, mapActions } from 'vuex';
export default {
name: 'Recent',
created() {
this.getPosts();
},
props: {
slug: String
},
computed: {
...mapState(['posts']),
},
methods: {
...mapActions(['getPosts']),
}
};
</script></pre>
<p>这个代码可以正常工作,但是我希望在显示3篇文章的同时,排除当前的文章,如果当前的文章是最近的3篇文章之一。</p>
如果你有以下的文章数组
你可以使用类似
this.array.filter(post => post.slug !== this.$route.params.slug)
的方法进行 过滤。如果
this.$route.params.slug
等于def
,它将只给出 id 为1
和3
的文章。