NuxtJs 如何使用 axios filter api?

Posted

技术标签:

【中文标题】NuxtJs 如何使用 axios filter api?【英文标题】:NuxtJs how to use axios filter api? 【发布时间】:2021-10-28 04:58:33 【问题描述】:

api 数据太多,我想过滤它,因为我需要将 api 放入 cookie 中并保存。 如果无法过滤 api 数据,我无法将其全部保存到 cookie。

类型错误 this.homeProdsx.map 不是函数

async asyncData( $axios, params ) 
    const homeProds = await $axios.$get(process.env.backendurl + '/home-page-alls?slug=' + params.slug)
    let homeProdsx = homeProds[0] 
    return  homeProdsx 
,
computed:
    filteredapi()
        return this.homeProdsx.map(( id, title, price,  ) => ( id, title, price ))
    ,
,

【问题讨论】:

欢迎接受您自己的答案。 【参考方案1】:

您可以在调用该方法之前尝试this.homeProdsx?.map 以查看homeProdsx 是否可用。

关于可选链的更多信息可以在这里找到:https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Operators/Optional_chaining

【讨论】:

谢谢,但不工作这个 api 在调用方法之前可用。 _this$homeProdsx.map is not a function @lsfsteve 您是否使用客户端导航来触发asyncData?您确定这里没有错字或缺少任何相关内容吗? 我使用 Strapi 制作我的 api,我认为问题是 let homeProdsx = homeProds[0] 它会使 api 成为一个对象而不是数组,所以不能使用 .map 但我需要使用let homeProdsx = homeProds[0] 因为是_slug .vue 无法使用 v-for 我必须尝试 const homeProds = await $axios.$get(process.env.backendurl + '/home-page-alls `让 homeProdsx = homeProds ` ` return homeProdsx `<div v-for="homeproduct ,idx" in homeProdsx :key> homeproduct <div> 可以调用但是当我使用 [0] 时它失败了〜谢谢【参考方案2】:

问题解决了

再获取一个 api 但不要let homeProdsx = homeProds[0]

async asyncData( $axios, params ) 
    const homeProds = await $axios.$get(process.env.backendurl + '/home-page-alls?slug=' + params.slug)
    let homeProdsx = homeProds[0]

    const testx = await $axios.$get(process.env.backendurl + '/home-page-alls?slug=' + params.slug)
    return  homeProdsx, testx
,

这里是计算出来的

computed: 
    filteredapi()
        return this.testx.map(( id, title, price, gg, homeitem, int, ) => ( id, title, price, gg, homeitem, int ))
    ,

,

【讨论】:

以上是关于NuxtJs 如何使用 axios filter api?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 NuxtJS 中设置全局 $axios 标头

nuxtJs中直接使用自带的@nuxtjs/axios

nuxtjs 环境中添加全局axios

NuxtJS $axios 通过请求发送 Cookie

nuxtjs/axios 4.4.0版本的初始化方法是啥? (nuxt.js)

Vuex 模块 CORS 错误中的 Nuxtjs Axios