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

网站建设原则应考虑哪些郑州启凡网络科技公司

网站建设原则应考虑哪些,郑州启凡网络科技公司,wordpress配置多用户,wordpress 调用formvue-query#xff0c;类似于vuex/pinia#xff0c;以缓存为目的#xff0c;但侧重的是对网络请求的缓存。 这是我预想的使用场景#xff1a;假设在各个页面都需要发起相同的请求#xff0c;去获取数据#xff0c;而这种数据在一定时间内不会发生变化#xff0c;那么这种… vue-query类似于vuex/pinia以缓存为目的但侧重的是对网络请求的缓存。 这是我预想的使用场景假设在各个页面都需要发起相同的请求去获取数据而这种数据在一定时间内不会发生变化那么这种请求数据是可以被缓存下来的。 pinia用于处理公共状态vue-query用于处理服务端状态准确的说是把原本需要在pinia中处理的服务端状态迁移到vue-query中。 本实例使用的vue版本是3.3.0 vue-query github地址DamianOsipiuk/vue-query: Hooks for fetching, caching and updating asynchronous data in Vue (github.com) 1、安装vue-query npm i vue-query 2、在入口文件中引入 import { VueQueryPlugin } from vue-query import { createApp } from vueimport router from ./routerimport App from ./App.vue const app createApp(App) app.use(router) app.use(VueQueryPlugin);app.mount(#app) 3、使用 index.vue templatediv 首页 {{ isLoading }} showList/ button clickgoAbout去about页面/button/div /templatescript setup langts import {ref} from vue import ajax from /common/ajax import {useQuery} from vue-query; import {useRouter} from vue-router import showList from /components/showList.vue; const router useRouter(); const getData (){ //这里使用的是node写的接口服务自行替换自己的接口return ajax(/live/api/packages/list); } const goAbout (){router.push(/about) } const {data,isLoading} useQuery([listData], ()getData());/scriptstyle scoped/style components/showList.vue templatedivh2列表组件/h2ulli v-forpackages in packageList :keypackages._id{{ packages.name }}/li/ul/div /templatescript setup langts import { computed } from vue import { useQuery } from vue-query;const {data} useQuery([listData]);const packageList computed(() data.value?.data.data.list);/scriptstyle scoped/style 效果展示 可以看到组使用 listData的缓存数据 接下来在首页跳转到about页面在about页面也使用这份缓存数据 about.vue templatedivh2About页面使用缓存数据/h2ulli v-forpackages in packageList :keypackages._id{{ packages.name }}/li/ul/div /templatescript setup langts import { computed } from vueimport { useQuery } from vue-query; const { data } useQuery([listData]);const packageList computed(() data.value?.data.data.list);/scriptstyle scoped/style 效果展示 跳转到about页面是没有重新发送请求的使用的是之前的缓存数据 但是发现在页面重新获取焦点和切换路由后会重新发送请求看文档说以下添加配置但是发现不起效 const {data,isLoading} useQuery([listData], ()getData(),{cacheTime: Infinity,staleTime: Infinity, }); vue-query tanstack/vue-query tanstack/vue-query可以说是vue-query的强化版本TanStack Query 是一个开源、功能齐全、支持 TypeScript 的库,非常适合用于处理客户端状态处理异步或服务器状态。它支持ReactVue,SvelteSolid框架大多时候我们都会我们使用的框架把它叫做vue-query或者react-query。 特点 非常好用的query库目的是为了缓存后端api的结果不用像以前一样手动将结果一个一个存储到store并且提供了一些非常好用的hook方法非常适合用于处理客户端状态处理异步或服务器状态默认支持异步它并不是用于替代axios等请求库而只是作为外层的封装方便控制请求与结果 安装 npm i tanstack/vue-query 在入口文件注册 import { VueQueryPlugin } from tanstack/vue-query app.use(VueQueryPlugin); 复用上面的代码只需要将vue-query改为tanstack/vue-query index.vue templatediv首页{{ isLoading }}!-- {{ data }} --!-- {{ datas }} --showList /button clickgoAbout去about页面/button/div /templatescript setup langtsimport ajax from /common/ajax import { useQuery } from tanstack/vue-query;import { useRouter } from vue-router import showList from /components/showList.vue; const router useRouter();const getData () {return ajax(/live/api/packages/list); }const goAbout () {router.push(/about) }const { data, isLoading } useQuery({queryKey: [listData],queryFn: () getData(),});/scriptstyle scoped/style components/showList.vue templatedivh2列表组件/h2ulli v-forpackages in packageList :keypackages._id{{ packages.name }}/li/ul/div /templatescript setup langts import { computed } from vue import {useQuery} from tanstack/vue-query;const { data } useQuery({queryKey: [listData] });const packageList computed(() data.value?.data.data.list);/scriptstyle scoped/style about.vue templatedivh2About页面使用缓存数据/h2ulli v-forpackages in packageList :keypackages._id{{ packages.name }}/li/ul/div /templatescript setup langts import { computed } from vueimport { useQuery } from tanstack/vue-query; const { data } useQuery({queryKey:[listData] });const packageList computed(() data.value?.data.data.list);/scriptstyle scoped/style 设置refetchInterval在规定间隔中重新发送请求 const { data, isLoading } useQuery({queryKey: [listData],queryFn: () getData(),refetchInterval: 12000 }); 可以看到network会重新发送请求 tanstack/vue-query 总结 vue-query 只适用于存储从服务端获取的数据如果有另外的数据需要存储还是要用到 pinia但是这种数据是比较少的这样也可以使得 pinia 中的代码量减少很多并简洁。当然这里介绍的 vue-query 的 api 是最简单的你能想到的功能它基本都有感兴趣的可以查看文档。
http://www.w-s-a.com/news/664751/

相关文章:

  • 如何发布自己做的网站郑州网站建设定制开发
  • 重庆网站商城宁波网络公司联系方式
  • 个人网站建设实验心得seo课程简介
  • 免费自助建站系统下载推广app网站
  • 用scala做的网站标题关键词优化技巧
  • 百度网站评级wordpress忘记admin
  • 建筑标准下载网站263企业邮箱 登陆
  • 旅游房地产网站建设德保网站建设
  • 网站高端建设wordpress订单系统
  • 建设网站成本增加网站备案
  • 行业网站建设方案百度云图片转wordpress
  • 如何建设网站推广平台营销客户管理软件
  • 网站制作南宁如何撰写一个网站规划建设方案
  • 建站网站和维护需要会什么杭州人防质监站网址
  • 唐山免费做网站莱芜吧贴吧最新消息
  • 韶关市建设工程造价网站网络营销的平台有哪些
  • 网站建设费大概多少钱成都网站建设低价
  • 做表格的网站东莞常平房价
  • 国家级建设网站高密做网站哪家强价位
  • 江西省新的建设厅三类人员网站做标记网站
  • 做最精彩绳艺网站产品设计培训
  • 营销型网站建设品牌深圳网络推广最新招聘
  • 单位网站等级保护必须做吗广州app软件开发公司
  • 免费flash网站模板怎么仿网站链接
  • 泉州网站建设哪家好平面设计转行做什么比较好
  • 忘记网站备案账号设计一个网站
  • 国内购物网站哪个最好海珠营销网站建设报价
  • 小型网站搭建logo免费制作
  • dede 网站模板哈尔滨房产信息网官方网站
  • 设计师个人作品集模板班级优化大师网页版登录