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

自学做网站多久互联网大厂

自学做网站多久,互联网大厂,东台做网站,建设银行手机绑定网站1. 配置组件名称 确保列表页组件设置了name选项&#xff0c;&#xff08;组合式API额外配置&#xff09;&#xff1a; <!-- vue2写法 --> export default {name: UserList // 必须与 <keep-alive> 的 include 匹配 }<!-- vue3写法 --> defineOptions({na…

1. 配置组件名称

确保列表页组件设置了name选项,(组合式API额外配置):

<!-- vue2写法 --> 
export default {name: 'UserList' // 必须与 <keep-alive> 的 include 匹配
}<!-- vue3写法 --> 
defineOptions({name: "UserList"
});

2. 路由配置

在路由配置中添加 meta 标识是否需要缓存:

{path: "/userList",name: "UserList",component: () => import("@/views/user/list.vue"),meta: {title: "用户列表",keepAlive: true // 自定义缓存标识}},

3. 动态缓存控制

在 App.vue 中使用 <keep-alive> 包裹路由视图,并动态判断缓存:

<!-- App.vue -->
<template><router-view v-slot="{ Component, route }"><keep-alive :include="cachedViews"><component:is="Component":key="route.fullPath"v-if="route.meta.keepAlive"/></keep-alive><component:is="Component":key="route.fullPath"v-if="!route.meta.keepAlive"/></router-view>
</template><script setup lang="ts">
import { ref, watch } from "vue";
import { useRoute } from "vue-router";const cachedViews = ref([]);
const route = useRoute();watch(() => route.meta.keepAlive,newVal => {if (newVal && !cachedViews.value.includes(route.name)) {cachedViews.value.push(route.name);}}
);
</script>

4. 生命周期钩子

在列表页组件中使用 activated 钩子(vue3 使用 onActivated )  处理返回时的逻辑:

<div class="list_box" @scroll="handleScroll" ref="listRef"> <van-listv-model:loading="loading":finished="finished"finished-text="没有更多了"@load="getList">.......</van-list>
</div>const listRef = ref(null);
// 缓存分页和滚动位置
const cachedState = ref({page: 1,scrollTop: 0
});// 滚动事件处理
const handleScroll = e => {// 实时保存滚动位置cachedState.value.scrollTop = e.target.scrollTop;// console.log("cachedState.value.scrollTop", cachedState.value.scrollTop);
};onActivated(async () => {console.log("组件激活,执行激活时的操作", cachedState.value.page);if (cachedState.value.page > 1) {searchQuery.page = cachedState.value.page;}await nextTick();// 恢复滚动位置if (listRef.value) {listRef.value.scrollTop = cachedState.value.scrollTop;}
});onDeactivated(() => {// 保存当前状态cachedState.value.page = searchQuery.page;console.log("组件停用", cachedState.value.page);
});

6. 高级场景:条件缓存

// 在全局前置守卫中
router.beforeEach((to, from) => {if (from.name?.toString().includes('Detail') && to.name === 'UserList') {to.meta.keepAlive = true // 从详情页返回时缓存} else if (to.name === 'ListPage') {to.meta.keepAlive = false // 从其他页面进入时不缓存}
})

http://www.dtcms.com/wzjs/545805.html

相关文章:

  • 郴州做网站公司广州百度关键词排名
  • wordpress rest 某类seo网站关键词优化哪家好
  • 淘宝网站开发系统二手域名购买已备案
  • 上海创意型网站建设做膜的网站有哪些
  • gif网站素材做推广网站费用
  • 公司门户网站制作需要多少钱wordpress网站排行榜
  • 奎屯建设局网站网站开发模合同
  • 哪些网站做外贸效果好网站公司策划书
  • 网站开发提供源代码单页面网站制作视频
  • 怎样查询网站的备案号手表网站 云
  • 硬件开发网站网络服务无法启动
  • 龙山网站建设设计工作室经营范围
  • 上海福州路附近做网站的公司wordpress 分类目录 层级
  • 中山市建网站公司平台开发是做什么的
  • 成都建设网站分享seo做得比较好的公司
  • 我的世界自己做披风网站做网站需要学php哪些技术
  • 上海网站备案在哪里查询黑龙江人事考试网
  • 简述商务网站建设网站建设模板是什么意思
  • 南宁网站建设nnit30建筑设计自学网
  • 可以自己做网站这么做织梦源码模板下载商城网站模板 整站带栏目高端大气上档次含数据
  • 深圳市专业网站建设虚拟主机怎么做淘客网站
  • 以网站建设专业画一幅画做装修网站多少钱
  • 番禺网站建设策划国外优秀设计公司网站
  • 永兴城乡住房建设部网站齐河县工程建设监理有限公司网站
  • 百度云 做视频网站网站建设安全服务协议
  • 南昌购物网站制作网站建设服务商城
  • 采购网站模板营销型网站建设教程视频教程
  • 建设部网站施工合同范本去哪找上海网站备案咨询
  • 上海做手机网站建设济南最好的网站开发
  • 建设银行网站用什么字体国内网站设计案例欣赏