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

钓鱼网站在线下载上海网站建设百度推广公司哪家好

钓鱼网站在线下载,上海网站建设百度推广公司哪家好,搜狗整站优化,广州网站建设 美词一#xff0c;场景 A页面是表单页面#xff0c;填写后需要跳转B页面。如果B页面不操作返回的话#xff0c;应该能还原A页面的内容#xff0c;而如果B页面点击提交#xff0c;再回到A页面的时候#xff0c;应该清除缓存。 二#xff0c;实现方法 A页面要缓存数据…一场景 A页面是表单页面填写后需要跳转B页面。如果B页面不操作返回的话应该能还原A页面的内容而如果B页面点击提交再回到A页面的时候应该清除缓存。 二实现方法 A页面要缓存数据则需要用keep-alive包裹。 B页面点击提交后需要清空缓存则需要清除A页面的keep-alive缓存。 于是可以利用keep-alive的:include属性只有在这个列表中的页面才具备缓存不在这个列表中的页面不具备缓存下次进入时重新渲染。 被 keep-alive 包裹的组件的生命周期是有区别于普通的组件。 被 keep-alive 包裹的组件中会多出两个生命周期 activated、deactivated。 第一次进入被 keep-alive 包裹的组件中的时候会依次调用 beforeCreate - created - beforeMount - mounted - activated其后的进入皆只会调用 activated因为组件被缓存了再次进入的时候就不会走 创建、挂载 的流程了。 被 keep-alive 包裹的组件退出的时候就不会再执行 beforeDestroy、destroyed 了因为组件不会真正意义上被销毁相对应的组件退出的时候会执行 deactivated 作为替代。于是可以想到 第一步路由发生改变时例如跳转A页面时将A页面加入keep-alive缓存include然后页面开始渲染 第二步A页面填写表单完成后跳转B页面 第三步B页面提交表单完成后把A页面从include中移除。 第四步这时候无论从哪里进入A页面都需要重新加入include缓存并重新渲染了重新走第一步。而如果没有第三步的移除缓存则再进入A时会拿缓存的A页面。三具体的实现代码逻辑 因为我是拿vue-template-admin做演示的就讲这里面是如何实现的。 第一步keep-alive包裹组件 主布局页面 templatesection classapp-maintransition namefade-transform modeout-inkeep-alive :includecachedViewsrouter-view :keykey //keep-alive/transition/section /template script export default {name: AppMain,computed: {cachedViews() {return this.$store.state.tagsView.cachedViews},key() {return this.$route.path}} } /script第二步看vuex中的tagsView模块 const state {cachedViews: [] }const mutations {ADD_CACHED_VIEW: (state, view) {if (state.cachedViews.includes(view.name)) returnif (!view.meta.noCache) {state.cachedViews.push(view.name)}},DEL_CACHED_VIEW: (state, view) {const index state.cachedViews.indexOf(view.name)index -1 state.cachedViews.splice(index, 1)}, } export default {namespaced: true,state,mutations,actions }这里就是添加include和移除的方法。 第三步看router.js文件中的配置 {path: /test,component: Layout,redirect: /test/test-one,children: [{path: test-one,component: () import(/views/test-one/index),name: TestOne,meta: { title: 表单测试, icon: el-icon-warning, noCache: false }},{path: test-two,hidden: true,component: () import(/views/test-two/index.vue),name: TestTwo,meta: {title: 表单提交,activeMenu: /test/test-one,noCache: true}}]}主要就是name属性和meta中的noCache属性。 第四步看keep-alive的include缓存是啥时候加上的 看下图可以知道是监听了当前路由的变化。当路由发生变化时就调用vuex中的ADD_CACHED_VIEW方法把当前页面对应的name加入数组中。因为路由变化时页面还没有渲染所以这时候加入页面渲染时是能够缓存起来的。 第五步看提交表单页移除缓存 当A页面已经被缓存填写表单后进入B页面这时提交表单则需要移除A的缓存。于是B页面 templatediv classactivity-list第二个测试页面button clickback提交代码/button/div /templatescript export default {name: TestTwo,data() {return {}},created() {},mounted() {},methods: {back() {this.$store.commit(tagsView/DEL_CACHED_VIEW, { name: TestOne })this.$router.go(-1)}} } /scriptstyle scoped langscss/style可以注意到它是调用tagsView/DEL_CACHED_VIEW移除的。因为先移除了所以这时候返回A页面会重新将A页面加入缓存且重新开始渲染。
http://www.w-s-a.com/news/204016/

相关文章:

  • 家政网站怎么做网站机房建设方案
  • 学校网站建设运行情况2022年近期舆情热点话题
  • 做淘宝需要知道什么网站吗有没有做软件的网站
  • 安丘网站建设制作做网站和微信小程序
  • 京东网站的建设与发展前景黑龙江建设网官网登陆
  • soho的网站怎么做微网站平台建设方案
  • 网站开发下载阿里云oss做视频网站
  • 东莞营销网站制作做一个网站建设
  • 啥网站都能看的浏览器下载网站后台管理系统展望
  • 新建站点步骤汉中 wordpress联盟
  • 坪山网站设计的公司网站 seo 设置
  • 济南网站设计公司排名如何免费注册网站域名
  • 网站开发分工甜妹妹福利wordpress
  • 网站中英文要怎么做网站建设的策划文案
  • 合肥推广外包公司佛山seo
  • 成都网站品牌设计策划课堂网站开发
  • 做直播网站赚钱公司网站空间怎么续费
  • 企业网站制作公司有哪些太原网站建设 thinkphp3.2
  • 云集网站哪个公司做的百度竞价排名怎么做
  • 做网站公司赚钱吗网站建设英语翻译
  • 网络公司除了做网站产品设计作品
  • dede网站模板替换湘潭建设路街道网站
  • 东莞网站优化效果如何网络设计工作
  • 网站备案系统验证码出错的解决方案任丘建设银行网站
  • 个人博客建站wordpress叮当app制作
  • 网站式的公司记录怎么做二手书网站策划书
  • 营销型网站的建设重点是什么帝国程序和WordPress
  • 正能量网站推荐不需要下载巴中网站建设开发公司
  • 学生模拟网站开发西安seo平台
  • 免费的app推广平台免费网站seo