淘先锋技术网

首页 1 2 3 4 5 6 7

在Vue中,显示更多的文章可以通过以下两种方式实现:

vue显示更多

1. 渲染所有文章内容。使用v-html指令将文章内容绑定为HTML字符串,通过CSS样式控制文章的显示与隐藏。

<template>
  <div class="article">
    <div class="article-content" v-html="articleContent" :class="{ 'show-more':showAll }">
    </div>
    <div class="show-more" @click="toggleShow">{{ showAll ? '显示更少' : '显示更多' }}</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      articleContent: '...', //文章内容,可以是从后端动态获取
      showAll: false
    }
  },
  methods: {
    toggleShow() {
      this.showAll = !this.showAll;
    }
  }
}
</script>

<style>
.article-content {
  max-height: 50px; //默认显示50px高度
  overflow: hidden; //隐藏超出部分
}

.show-more {
  cursor: pointer;
}
</style>

2. 按需渲染文章内容。在模板中定义一个长度为50的文章内容,当用户点击“显示更多”时,再从后端获取完整文章内容并更新页面。

<template>
  <div class="article">
    <div class="article-content">{{ showAll ? fullContent : summaryContent }}</div>
    <div class="show-more" @click="toggleShow">{{ showAll ? '显示更少' : '显示更多' }}</div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      summaryContent: '...', //文章摘要,长度为50
      fullContent: '...', //完整文章内容,可以是从后端动态获取
      showAll: false
    }
  },
  methods: {
    toggleShow() {
      if (this.showAll) return; //如果已经显示全部内容,不再请求
      //从后端获取完整文章内容
      this.fullContent = '...';
      this.showAll = true;
    }
  }
}
</script>

<style>
.show-more {
  cursor: pointer;
}
</style>