首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用asyncData进行Nuxt分页

使用asyncData进行Nuxt分页
EN

Stack Overflow用户
提问于 2021-02-17 04:46:57
回答 1查看 429关注 0票数 1

是否可以在nuxt中使用asyncData进行分页?我有这样的代码:

代码语言:javascript
复制
<template>
  <v-container fluid>
    <v-row>
      <v-col
        v-for="sessao in sessoes"
        :key="sessao.id"
        xs="12"
        sm="12"
        md="6"
        lg="4"
      >
        <FotografoSessao :sessao="sessao" :is-mostrar-titulo="true" />
      </v-col>
    </v-row>
    <v-row>
      <v-container class="max-width">
        <v-pagination
          v-model="paginaAtual"
          :length="totalPages"
          :total-visible="10"
          @input="proximo"
        ></v-pagination>
      </v-container>
    </v-row>
  </v-container>
</template>

<script>
export default {
  async asyncData({ $api, store, route }) {
    let url = "/sessao/ultimas";
    if (store.state.auth.isLogged) {
      url = "/sessao/praias/usuario";
    }
    const page = parseInt(route.query.page);
    const retorno = await $api.get(`${url}?page=${page - 1}`);
    return {
      sessoes: retorno.data.content,
      totalPages: retorno.data.totalPages,
      totalItems: retorno.data.content.totalItems,
      paginaAtual: parseInt(page),
    };
  },
  data() {
    return {};
  },
  watchQuery: ["page"],
  methods: {
    proximo(val) {
      const page = parseInt(val);
      this.$router.push({ path: this.$route.path, query: { page: page } });
    },
    recuperarImagem(prop) {
      return "data:image/png;base64," + prop;
    },
  },
};
</script>

所以当我导航到页面时,内容显示得很好。但是当我点击转到下一页"proximo“方法时,asyncData会被执行(因为在我的背部有日志),但是页面不会更新

EN

回答 1

Stack Overflow用户

发布于 2021-02-17 17:08:08

首先,删除此部件:

代码语言:javascript
复制
  data() {
    return {};
  },

query可以直接使用,如下所示:

代码语言:javascript
复制
async asyncData({ $api, store, query }) {

  const page = parseInt(query.page);

  // ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66231933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档