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

网站icp备案号查询2 网站内部链接优化

网站icp备案号查询,2 网站内部链接优化,wordpress公众号采集,云服务器哪家便宜需求:每个表格的分页大小 以本地缓存的方式存到浏览器本地,然后用户下次打开的时候 获取这个本地存储的值 如果没有就用页面默认的值,如果有 则先判断是不是有效的(是) 无效用默认 有效就用这个缓存值,需要区分是否为嵌入式页面 分析&#xf…

需求:每个表格的分页大小 以本地缓存的方式存到浏览器本地,然后用户下次打开的时候 获取这个本地存储的值 如果没有就用页面默认的值,如果有 则先判断是不是有效的(是) 无效用默认 有效就用这个缓存值,需要区分是否为嵌入式页面

分析:


1、存页大小的时候 需要考虑一下嵌入页面 const ancestors = location.ancestorOrigins;

如果这个数组有长度 就把第一个 拿出做隔离;比如打开页面之后 开始拼接key 比如规则页面 我就取 key=`calc_${ location.ancestorOrigins[0],}` 去取值;如果没被嵌入 location.ancestorOrigins的长度就是0 就取不到值 key就直接取`cacl_`

意思是比如 我列表嵌入到a网址 他会给a网站存一个页大小 嵌入到b网站会给b网站保持一个页大小 互不相干


2、后面我们把那个列宽度和排序字段 查询条件 也可以存到这里面,所以我们直接使用存对象的方式key:{}


直接封装工具函数(可直接复制使用) 

在项目src文件夹下面的工具函数文件夹utils下  直接新建localStorageUtil.js,写入以下代码:

// 工具函数,用于存取分页大小、其他数据
export const useLocalStorageData = (keyPrefix = '', defaultData = {}) => {const getCacheKey = () => {if (location.ancestorOrigins.length) {return `${keyPrefix}${location.ancestorOrigins[0]}`;}return `${keyPrefix}`;};const getCacheData = () => {const cacheKey = getCacheKey();const cacheData = localStorage.getItem(cacheKey);if (cacheData) {return JSON.parse(cacheData);}return defaultData;};const saveCacheData = (data) => {const cacheKey = getCacheKey();localStorage.setItem(cacheKey, JSON.stringify(data));};const getData = (key) => {const cacheData = getCacheData();if (cacheData[key]!==undefined) {return cacheData[key];}return defaultData[key];};const saveData = (key, value) => {const cacheData = getCacheData();cacheData[key] = value;saveCacheData(cacheData);};// 返回需要暴露的属性和方法return {getData,saveData,};};

页面引入使用:

import { useLocalStorageData } from '@/utils/localStorageUtil.js'
const defaultPageSize = 10//默认分页大小const { getData, saveData } = useLocalStorageData('calc_', {})//列表查询方法
function getCalcRules(RuleName: string, pageSize: number, currentPage: number) {api.calcRules.getCalcRules({ RuleName: RuleName, PageSize: pageSize, Page: currentPage }).then(res => {if (res != null && res[0] != null && res[0].status == 200) {totalData.tableData = res[0].data.recordstotalData.total = res[0].data.Total}})
}// 获取分页大小
const pageSize = ref(getData('pageSize') || defaultPageSize)
const currentPage = ref(getData('currentPage') || defaultcurrentPage)const handleSizeChange = (val: number) => {saveData('pageSize', val)// 分页getCalcRules(RuleName.value, val, currentPage.value)//获取页面表格数据
}
const handleCurrentChange = (val: number) => {// 分页getCalcRules(RuleName.value, pageSize.value, val)//获取页面表格数据
}
// 获取初始页面本地数据
function getinitLocalData() {const cachedPageSize = getData('pageSize')// 如果本地缓存中不存在分页大小,则保存默认值if (cachedPageSize === undefined) {saveData('pageSize', defaultPageSize)pageSize.value = defaultPageSize} else {pageSize.value = cachedPageSize}}
onMounted(() => {getinitLocalData()// 在获取到页码和页大小后,调用 getCalcRules 方法获取页面数据getCalcRules(RuleName.value, pageSize.value, currentPage.value)
})

如果以后还有表格搜索条件等数据需要缓存,可以按照上面关于pagesize的缓存和提取的方式进行缓存和提取

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

相关文章:

  • 吴镇宇做的电影教学网站网络推广费用预算表
  • 狠狠做网站 百度一下云南 房地产网站建设
  • 网站带做收录排名网站项目建设目标
  • 网站建设书本如何做招聘网站统计表
  • 女性时尚资讯+淘宝客模式系列网站源码工程公司经营范围大全
  • 廊坊百度网站排名自适应网站内容做多大尺寸
  • 网站放自己服务器备案哪个网站做h5好用
  • 网站兼容9微信小程序制作精灵
  • 申请个人网站需要多少钱网站建设中html5模板
  • 网站关键词重要吗电商网站的建设背景
  • 临沂住房和城乡建设厅网站在家开个代加工厂
  • 微信小程序 做网站比较好的公司网站
  • 网站设计例子顺德手机网站设计咨询
  • 太原市住房和城乡建设部网站怎么增加网站的收录量
  • 做百度推广送网站定制礼品的网站有哪些
  • 福田网站设计公司企业需要做网站吗
  • 自助建站上建的网站免费吗wordpress新闻轮播制作
  • 郑州建立一个网站需要哪些网页联系我们怎么做
  • 做网上商城网站设计网页qq怎么登录
  • 网站所有分类中 点击箭头不出现下拉菜单wordpress重复链接
  • 河南网站建设多少钱ajax登陆wordpress
  • 徐州建设局网站安全证中国建设银行网站公积金查询
  • 网站平台系统设计公司深圳官方网站建设
  • 郑州网站zhi zuo织梦 wordpress
  • 第二章营销型网站建设测验网页编辑软件 破解版
  • 北京定制网站公司网站建设实训心得体会2000字
  • 海外网站服务器网址做一个自己的app要多少钱
  • 网站备案照片网站宣传的方法主要有
  • 珠宝网站策划怎样搭建网站视频教程
  • 山东网站建设哪家好岳池网站制作