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

推广网站怎么做/怎样申请网站

推广网站怎么做,怎样申请网站,那个平台能免费做网站,重庆的主要的网站Vue 使用 vue-router 时,多级嵌套路由缓存问题处理 对于三级菜单(或多级嵌套路由),vue 都是 通过 keep-alive 组件来实现路由组件的缓存。 有时候三级或者多级路由时,会出现失效情况。以下是三级菜单缓存的例子。 最…

Vue 使用 vue-router 时,多级嵌套路由缓存问题处理

对于三级菜单(或多级嵌套路由),vue 都是 通过 keep-alive 组件来实现路由组件的缓存。

有时候三级或者多级路由时,会出现失效情况。以下是三级菜单缓存的例子。

最后会有惊喜!

1.配置嵌套路由

在 vue-router 中,嵌套路由需要正确配置 children 属性,并且每个路由组件都需要有唯一的 name,很重要。很重要。很重要。。

const routes = [{path: '/',component: Layout, // 布局组件children: [{path: '/menu1/path/',component: Menu1, // 一级菜单children: [{path: '/submenu1/path',component: SubMenu1, // 二级菜单children: [{path: 'item1',component: Item1, // 三级菜单name: 'Item1', // 确保每个组件有唯一的 namemeta: {noCache: false,   //自定义参数,是否缓存}},{path: 'item2',component: Item2,name: 'Item2',meta: {noCache: false,}},],},],},],},
];

2. 在嵌套路由中使用 router-view

在每一级菜单的组件中,都需要使用 router-view 来渲染子路由,记住是每一级

Menu1.vue

<template><div><h2>Menu 1</h2><keep-alive><router-view></router-view> <!-- 渲染二级菜单 --></keep-alive></div>
</template>

SubMenu1

<template><div><h3>SubMenu 1</h3><keep-alive><router-view></router-view> <!-- 渲染三级菜单 --></keep-alive></div>
</template>

3. 使用 keep-alive 缓存嵌套路由

在顶级组件(如 Layout.vue)中,用 包裹 ,确保所有嵌套路由组件都能被缓存。
如果只想缓存特定的嵌套路由组件,可以通过 includeexclude 属性来实现。

Layout.vue

<template><div><nav><!-- 菜单导航 --><router-link to="/menu1/submenu1/item1">Item 1</router-link><router-link to="/menu1/submenu1/item2">Item 2</router-link></nav><!-- 使用 keep-alive 缓存所有嵌套路由 --><keep-alive :include="cachedViews"  :exclude="notCacheName"><router-view></router-view></keep-alive></div>
</template><script>
export default {name: "clientManager",computed: {cachedViews() {return [...this.$store.state.tagsView.cachedViews];},key() {return this.$route.path;},notCacheName() {return [this.$route.meta && this.$route.meta.noCache ? this.$route.name : "",];},},
};
</script>

此处有疑问点:

我查到的文档,基本上都是说在 顶级组件 Layout.vue 里面配置 keep-alive即可,下级的不用配置。

但是经过我测试,发现每一级都要配置 keep-alive,请看第二步。不配置的话,缓存就是不起作用。不知道为啥?

我是配置了每一级的,然后就可以了。此次请大家帮我解一下疑惑,万分感谢!

4. 最后的页面

<template><div><h4>Item 1</h4><p>This is Item 1.</p></div>
</template><script>
export default {name: 'Item1',activated() {console.log('Item1 被激活');},deactivated() {console.log('Item1 被停用');},
};
</script>

菜单缓存失败的原因

  • 路由配置不正确,导致组件被重复渲染。
  • 组件没有唯一的 name。
  • 嵌套路由的 没有正确渲染
  • 确认页面的 name 是否和 路由配置定义页面的 name 是否相同,不同肯定失败

最易出错的是最后一点,请仔细检查。

http://www.whsansanxincailiao.cn/news/31990224.html

相关文章:

  • 网站建设首选建站系统/搜索引擎优化涉及的内容
  • 做调查赚钱的网站又哪些/seo排名赚app下载
  • 重庆网站建设技术支持重庆互联网/搜索数据
  • 中山网站建设/chrome谷歌浏览器
  • 软件开发详细设计文档/网络营销优化推广公司
  • 苏州网站建设集团/首页百度
  • 摄影网站上的照片做后期嘛/站长之家产品介绍
  • 阿里云服务器网站开发/企业关键词优化最新报价
  • 服装服饰设计网站/福州seo网址优化公司
  • 怎么做ps4的视频网站/郑州百度推广seo
  • 做站群网站好优化吗/seo官网
  • 外包做网站价格/北京seo优化公司
  • 有可能点进病毒网站怎么做/电脑版百度网盘
  • 郑州市建设网站/媒体代发布
  • 如何选择校园文化设计公司/网站页面关键词优化
  • 专业外贸网站制作价格/怎样优化网络
  • 宁波网站公司/关键词排名查询api
  • 请问做网站需要什么/深圳全网推广排名
  • 做家装的有没有网站可以找工作/知识搜索引擎
  • 广东网站建设微信商城运营/电商seo搜索引擎优化
  • lamp网站开发黄金组合下载/如何快速推广一个app
  • 为什么公司网站打开很慢/windows优化大师自动安装
  • win2003做网站/营销案例分析
  • 佛山新网站建设/seo博客网址
  • 现在流行做网站吗/宁波seo外包服务
  • 如何做全球网站排名/关键词优化排名详细步骤
  • 机械做卖产品网站/通过百度指数不能判断出
  • 使用asp.net做购物网站/什么是seo教程
  • 做网站做什么主题/成都seo技术经理
  • 设计素材图片大全/百度seo推广怎么做