当前位置: 首页 > news >正文

简单网站建设规划方案软件开发文档的基本格式

简单网站建设规划方案,软件开发文档的基本格式,wordpress 嵌入 php,类似wordpress的应用composables 在 Nuxt 3 中,composables(组合式函数)是一种用于封装和复用有状态逻辑的机制。它类似于 Vue 3 中的组合式 API,允许你将相关的逻辑(如数据获取、状态管理等)提取到独立的函数中,然…

composables

  • 在 Nuxt 3 中,composables(组合式函数)是一种用于封装和复用有状态逻辑的机制。它类似于 Vue 3 中的组合式 API,允许你将相关的逻辑(如数据获取、状态管理等)提取到独立的函数中,然后在组件中进行调用。
  • 这些函数可以访问和操作组件的响应式数据、生命周期钩子等,使得代码更加模块化和易于维护。

我们可以在composables文件夹中创建一个js文件,在js文件中定义我们需要的逻辑,可以在任意vue文件中进行代码的复用:

怎么使用呢?您请看以下代码截图:

 

看图可知 通过文件名使用我们上面定义的函数。

$fetch和useAsyncData

$fetch(‘url接口路径’)请求数据

在 Nuxt 3 中,$fetch 是基于 ofetch 库封装的。ofetch 是一个轻量级的 Fetch API 的封装,提供了一些额外的功能,比如请求和响应的处理、自动序列化 JSON 数据、支持 AbortController 等。

主要特点

  • 简化请求$fetch 使得发送 HTTP 请求变得更加简单,尤其是在处理 JSON 数据时。
  • 错误处理:它可以自动处理 HTTP 错误,并抛出异常,方便开发者进行错误捕获。
  • 支持中间件:可以通过配置来添加请求和响应的中间件。
  • 支持 AbortController:可以轻松地取消请求。
const response = await $fetch('https://api.example.com/data', {method: 'GET', // 请求方法headers: {'Authorization': 'Bearer token' // 添加请求头}
})

直接向以上方式写的话,会在服务端执行一次,在客户端执行一次,如果是请求数据库的就会有问题了,所以我们需要加上限定条件的代码:

 if (import.meta.server) {const response = await $fetch('https://api.example.com/data', {method: 'GET', // 请求方法headers: {'Authorization': 'Bearer token' // 添加请求头}})} 

但是呢,这还不是官方推荐的。所以官方推荐了这种方法useAsyncData,注意useAsyncData是异步的!!!useAsyncData获得的数据会自动变成响应式的

//useAsyncData在服务端执行时,只会执行一次
let res = await useAsyncData('test',()=>{return $fetch('http://localhost:8080/user')
})

useAsyncData 的第一个参数是一个键(在这个例子中是 'test'),它用于缓存数据。如果你在同一个组件中多次调用 useAsyncData,并且使用相同的键,它将返回缓存的数据,而不会重新发起请求。这对于提高性能和减少不必要的请求非常有用。

key需要唯一,如果不唯一,会导致数据不一致。

useFetch,lazy,refresh

useFetch,refresh

// useFetch在客户端和服务端都执行
//useFetch实际是useAsyncData+$Fetch的语法糖
//useFetch里面会自动维护一个key,返回的数据和useAsyncData是一致的
const {refresh} = await useFetch('http://localhost:8080/user')
//refresh只在服务端执行一次
refresh()

这个useFetchuseAsyncData+$Fetch的语法糖,useFetch里面会自动维护一个key,返回的数据和useAsyncData是一致的

另外,这个refresh是用来刷新token的,也是只在服务端执行。

lazy

<template><div><p>首页</p><div v-if="status === 'pending'">正在请求</div><div v-else>请求成功</div></div>
</template>const {refresh,status} = await useFetch('http://localhost:8080/user',{//先渲染标签lazy:true
})
//refresh只在服务端执行一次
refresh()

这个status一开始是pending,请求完成变成success,所以在页面一开始显示“正在请求”,完成之后显示“请求成功”。

http://www.yayakq.cn/news/203026/

相关文章:

  • 昆明网站建设精英潍坊个人做网站
  • 网站邮箱接口怎么设置苏州网站建设排名
  • 做网站卖东西欧式风格装修效果图
  • 制作深圳网站建设微信 怎么上传 wordpress
  • 网站设置的参数网站建设行情
  • 020网站模板建设小说网站违法吗
  • php网站建设价格做响应式网站的体会
  • 宁波余姚网站建设购物网站开发流程
  • 网站开发的经费预算好看的网站都找谁做的
  • 深喉咙企业网站模板免费搭建微信网站设计
  • 导购网站怎么做有特色网站欣赏
  • 北京易思腾网站建设怎么做自己的推广网站
  • 大连网站排名公司工业app开发平台
  • 网站建设报价单表格模板网页制作面试自我介绍
  • 西昌有做网站的公司吗wordpress 小兽
  • 制作二维码网站免费网站开发用的开源系统
  • 在线网站建设课程10月上海娱乐场所又要关门了
  • 如何做一张网站平面效果图wordpress ico
  • 本溪网站设计江阴哪里有做网站的
  • 茌平企业做网站推广nginx反代wordpress伪静态
  • 衡水网站建设浩森宇特网站建设入门教程
  • 如何查看网站模板湖北省住房和城乡建设厅
  • 乐清网站制作公司有哪些做外贸网站服务
  • 网站设计建设那家好遵义招标网
  • 建做网站北京12345网上投诉平台
  • 自己做网站很难模板规格
  • 企业网站结构图html5网站开发语言的有点
  • 没有网站怎么做cpa站长工具网站
  • 微网站开发视频扶贫基金会网站建设是哪家公司
  • 网站打开是目录结构图广告设计专业认知报告