首页 > 其他分享 >Nuxt——asyncData/fetch

Nuxt——asyncData/fetch

时间:2024-01-19 17:55:06浏览次数:23  
标签:调用 res asyncData content 组件 fetch Nuxt

asyncData()

asyncData方法会在组件(限于页面组件)每次加载之前被调用。它可以在服务端或路由更新之前被调用。在这个方法被调用的时候,第一个参数被设定为当前页面的上下文对象,你可以利用 asyncData方法来获取数据,Nuxt.js 会将 asyncData 返回的数据融合组件 data 方法返回的数据一并返回给当前组件。

asyncData()只能用在页面组件,其提供两个调用方法,Promise和async/await

如果data中定义了content,asyncData()返回的content会覆盖data中的content

//Promise
asyncData({ $api, error }) {
    return $api
        .getWebPageContent()
        .then((res) => {
            return { content: res }
        })
        .catch((e) => {
            error({ statusCode: 500, message: e.message })
        })
}

//async/await
async asyncData(context) {
    const { res } = await $api.getWebContent()
    return { content : res }
}

 在此阶段,不能使用this获取组件实例,因为当前组件还不存在。变量全部通过参数传递的上下文content获取

fetch()

fetch 方法用于在渲染页面前填充应用的状态树(store)数据, 与 asyncData 方法类似,不同的是它不会设置组件的数据。

fetch()使用Promise形式调用,在旧版中不能使用this获取组件实例,但是在新版中可以调用this,前提是参数不在获取上下文

async fetch() {
  const res = await fetch('http://localhost:9999')
      .then( res  => return res )
  this.content = res.content
}

 

标签:调用,res,asyncData,content,组件,fetch,Nuxt
From: https://www.cnblogs.com/karle/p/17975280

相关文章

  • 封装自带取消请求功能的fetch请求
    封装自带取消请求功能的fetch请求为了防止我们的同一个请求被多次请求多次,而我们往往只是想要最后一次的结果,这就导致我们前面的请求都是无效请求,所以我们需要一个方法来取消前面的请求,可以参考这篇文档如何取消我们的请求˝❓:这是我自己尝试的封装,还存在一些问题,下面会说明......
  • 安装nuxt3报错:Error: Failed to download template from registry: fetch failed
    问题复现:输入命令安装nuxt3pnpmdlxnuxi@latestinitnuxt-app然后出现下面错误ERRORError:Failedtodownloadtemplatefromregistry:fetchfailed 解决方案:配置hosts,Mac中路径是/etc/hosts,在下面追加一行185.199.108.133raw.githubusercontent.com下......
  • Nuxt2——路由
    Nuxt内置了路由模块,无需自行编写路由文件Nuxt会根据pages/自行配置路由文件基础路由pages/--|user/-----|index.vue-----|one.vue--|index.vue得到路由配置router:{routes:[{name:'index',path:'/',component:'pages/index.vue'......
  • Nuxt2——构建文件
    nuxt2构建文件放在nuxt.config.js,使用cjs语法,暴露配置对象基本配置项mode 有spa和universal两种模式。spa没有使用到服务器渲染,但是使用路由。universal使用服务器渲染加客户端路由mode:'universal'head配置html的<head></head>内容head:{titleTemplate:'%s-Nuxt......
  • Fetch方法——一种简单合理的跨网络异步获取资源方式
    FetchAPI是一个JavaScript接口,用于访问和操纵HTTP管道的一些具体部分,例如请求和响应。FetchAPI提供了一个全局fetch()方法,一种简单,合理的来跨网络异步获取资源的方式。一个基本的fetch请求:fetch("http://localhost:4000/datas.json",{method:"POST",......
  • nuxt3:添加谷歌免费字体以及遇到的坑
    前言为了保证项目呈现的一致性,web往往需要添加一个字体文件到项目中。这里推荐直接实现@nuxtjs/google-fonts正文安装配置依赖安装依赖yarnadd-D@nuxtjs/google-fonts配置依赖//nuxt.config.tsexportdefaultdefineNuxtConfig({modules:['@nuxtjs/google-fon......
  • nuxt3: 使用 NuxtImg 不生效和请求报500的解决办法
    前言NuxtImg默认使用了IPX作为图形修改器,IPX是NuxtImage的内置和自托管图像优化器。但是我在使用时却报了500的错误,下面分享一下解决问题的过程正文安装配置依赖#安装依赖yarnadd@nuxt/image//nuxt.config.tsexportdefaultdefineNuxtConfig({modules:['@......
  • Nuxt3教程:添加Autoanimate 动画库
    前言AutoAnimate是一个零配置,插入式动画实用程序,可以为您的Web应用程序添加平滑过渡。您可以将其与React,Solid,Vue,Svelte或任何其他JavaScript应用程序一起使用。正文安装依赖#yarnyarnadd@formkit/auto-animate#npmnpminstall@formkit/auto-animate#pnpmpnpmadd......
  • 给nuxt3添加 ESLint 和 Prettier
    前言在这篇文章中,我们将介绍ESLint和Prettier,用于在Nuxt3项目中自动设置代码样式格式。配置自动设置代码样式有这些好处:一致性:自动执行某种风格。特别是在代码审查中避免吹毛求疵的论点。节省时间:无需手动格式化代码。代码质量:捕捉代码中的潜在问题,例如语法错误和编码风格......
  • 【flink番外篇】9、Flink Table API 支持的操作示例(10)- 表的OrderBy、Offset 和 Fetch
    文章目录Flink系列文章一、maven依赖二、表的OrderBy,Offset和Fetch操作三、表的insert操作本文介绍了表的OrderBy、Offset和Fetch、insert操作,以示例形式展示每个操作的结果。本文除了maven依赖外,没有其他依赖。一、maven依赖本文maven依赖参考文章:【flink番外篇】9、Flin......