你可以按照以下方式修改你的代码来实现点击加载每次加载4条数据:htmlCopy

<template>
  <div>
    <ul>
      <li v-for="(item, index) in displayedItems" :key="index">{{ item.name }}</li>
    </ul>
    <button @click="loadMore">加载更多</button>
    <Foot></Foot>
  </div>
</template>

<script>
export default {
  data() {
    return {
      robot: [], // 初始化为空数组
      loadedItems: 0,
      itemsPerLoad: 4
    };
  },
  computed: {
    displayedItems() {
      return this.robot.slice(0, this.loadedItems);
    }
  },
  methods: {
    loadData() {
      this.$axios
        .get(this.$api_url.get_home_data)
        .then((res) => {
          if (res.data && res.data.code === 0) {
            this.loading = false;
            this.robot = res.data.data.robot;
          }
        })
        .catch((err) => {
          console.log(err.message);
          // this.$toast.fail(err.message);
        });
    },
    loadMore() {
      this.loadedItems += this.itemsPerLoad;
    }
  },
  mounted() {
    this.loadData(); // 初始化时加载数据
  }
};
</script>

在这个示例中,我们将 robot 数组初始化为空数组,并在 loadData 方法中获取数据并更新 robot 数组。displayedItems 计算属性用于动态计算当前要显示的数据项。loadMore 方法用于增加 loadedItems 的值,从而更新计算属性的结果,实现加载更多数据。

在 mounted 钩子中调用 loadData 方法来初始化加载数据。

请确保你已经正确配置了 Axios 库和 API 地址,并将代码中的 this.$api_url.get_home_data 替换为实际的 API 地址。

希望这对你有帮助!如果你还有其他问题,请随时提问。

By lxcss

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注