展示最新的WordPress文章,使用Vue实现
P粉331849987
P粉331849987 2023-08-29 15:45:38
[Vue.js讨论组]

我正在使用Vue重建我的WordPress博客。我正在尝试显示我的最近的3篇文章,我在这里进行了操作:

<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>

这个代码可以正常工作,但是我希望在显示3篇文章的同时,排除当前的文章,如果当前的文章是最近的3篇文章之一。

P粉331849987
P粉331849987

全部回复(1)
P粉070918777

如果你有以下的文章数组

[
  { id: 1, slug: 'abc', url: 'https://' },
  { id: 2, slug: 'def', url: 'https://' },
  { id: 3, slug: 'ghi', url: 'https://' },
]

你可以使用类似 this.array.filter(post => post.slug !== this.$route.params.slug) 的方法进行 过滤
如果 this.$route.params.slug 等于 def,它将只给出 id 为 13 的文章。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号