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

网站建设 团队介绍什么叫口碑营销

网站建设 团队介绍,什么叫口碑营销,做网站怎么复制视频链接,企业建站用什么软件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.dtcms.com/wzjs/391056.html

相关文章:

  • 免费做网站用什么软件如何制作一个自己的网页
  • 云阳网站建设拓客最有效方案
  • 合肥高端网站建设公司哪家好营销渠道有哪几种
  • 真如做网站站点搜索
  • 微博wordpress宁波seo企业推广
  • 百度云怎么做网站空间网站建设是干嘛的
  • 深圳网站建设工作室seo课程培训
  • 中国十大贸易公司排名宁德seo优化
  • 微信小程序网站制作线下引流的八种推广方式
  • 外汇网站怎么做优外汇网站商丘seo优化
  • 自己怎么做网站赚钱seo全称是什么意思
  • 网站开发iso9001香水推广软文
  • 重庆企业网站排名优化方法app香港账号
  • 网站域名能更该吗百度移动端排名
  • 青岛博海建设网站关键词优化案例
  • 政府网站建设和服务网站查询进入
  • 怎么看一个网站是谁做的站长工具pr值查询
  • 东莞建站公司运转全网天下有 名国外域名购买
  • ui设计师能独立做网站吗百度 营销中心
  • 如何创建网站目录百度账号注册入口
  • 女生做网站编辑怎么样病毒营销案例
  • 怎么去投诉做网站的公司产品推广软文
  • 政府机关网站建设的依据网站平台有哪些
  • 东莞常平网站设计seo排名优化软件
  • 人才网站的会计账如何做公司想建个网站怎么弄
  • 营销型网站的建设规划徐汇网站建设
  • 思途做的旅游网站百度推广客户端下载安装
  • 织梦网站怎么做二级域名抖音推广平台
  • 嘉兴外贸网站建设play商店
  • 成都网站制作工作室关键词排名查询网站