艺术设计招聘网站,青岛开发区网站建设多少钱,专门做汽车内饰的网站,网站图片怎样做seo优化1、keep-alive
正常keep-alive的使用便可以做项目的缓存#xff0c;但是我们的项目很不正常 项目是属于动态缓存#xff0c;动态缓存有一个弊端 举个栗子#xff1a; a组件为设置了需要缓存的页面#xff1b; b组件为设置了需要缓存的页面#xff1b; c组件为设置了不需…1、keep-alive
正常keep-alive的使用便可以做项目的缓存但是我们的项目很不正常 项目是属于动态缓存动态缓存有一个弊端 举个栗子 a组件为设置了需要缓存的页面 b组件为设置了需要缓存的页面 c组件为设置了不需要缓存的页面。 假如从a组件跳转到b组件相当于缓存页面跳转到缓存页面两个页面都会进行缓存 假如从a组件跳转到c组件相当于缓存页面跳转到无缓存页面此时会把a组件的缓存给清除掉即a组件无缓存c组件也无缓存 假如从a组件跳转到b组件两个页面都会产生缓存再从b页面跳转到c页面此时会清除a组件和b组件的缓存相当于三个页面都没有缓存内容再次进入需要重新创建 结论缓存页面跳转到非缓存页面会丢失掉已有的缓存
需求a页面进行查询跳转到b页面再回退到a页面a页面查询参数保留且b页面不能做缓存
解决方案2个页面都不使用keep-alive而是利用vuex将查询的参数保留a页面查询后传递给vuex由于没有keep-alive缓存每次进入a页面都相当于创建了一次a页面在创建的生命周期中添加逻辑查询vuex是否有对应的查询参数如果有直接使用vuex中的参数
解决方案详细说明 1、a页面和b页面都没有采取keep-alive进行缓存因为我们的b页面不能设缓存 2、用vuex或者pinia在查询后进行参数保留到vuex中在这之后即使我们跳转到了b页面vuex中仍记录了a页面的查询参数 3、由于没有keep-alive每次进入a页面都相当于重新创建a页面但是vuex没有重新创建除非我们进行刷新页面在a页面创建前读取vuex内的查询参数如果有把a页面的查询参数初始化为vuex中的数据即可
2、在点击某些查询按钮后页面会莫名的刷新
原因 .com之前是我们项目的基本地址这里我就不展示了 可以看到.com后面紧跟了一个‘?’我把‘?’删除发现页面不会404而是重新加载页面且仍然是该页面 因此可以得出是因为多了一个‘?’导致了点击查询按钮页面会默认刷新
参考博客博客地址
解决方案 给按钮添加prevent阻止默认事件即可
3、小程序中消息订阅授权
1、每个手机展示的弹窗不同 例如苹果手机会默认勾选总是保持以上选择但是我的手机(红魔7)并不会进行默认勾选 苹果手机不点击同意无法点击弹窗的允许按钮表现形式为按钮被禁用但是我的手机即使不点击同意但仍然可以点击弹窗允许按钮 2、一旦勾选总是保持以上选择点击小程序右上角三个点然后点击设置-通知管理就能看到我们所授权的内容但是如果我们没有进行勾选(总是保持以上选择)就在设置中看不到本次的授权内容 用户勾选总是保持以上选择并且点击拒绝我们会看到右上角三个点-设置-通知管理中对应的权限为拒绝且我们日后无法再次唤起授权弹窗只能引导用户手动去配置(wx.openSetting({withSubscriptions: true})) 可能说的不是很详细下面我搞了一个表格
手机是否会默认勾选总是保持以上选择不进行授权是否能继续点击允许按钮红魔7默认不会可以苹果系列默认会不可以小米系列默认会不可以 是否勾选总是保持以上选择后续进入右上角三个点-设置-通知管理中的体现形式是后续进入都不会弹出该窗口用户一旦点击拒绝日后只能引导用户手动配置会出现授权的内容否后续进入仍会弹出该窗口用户点击拒绝日后也可以再次弹出不会出现授权的内容且wx.getSetting也无法获取授权的内容