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

五莲网站制作阐述企业搭建网站的重要性

五莲网站制作,阐述企业搭建网站的重要性,wordpress漏洞 4.7,用新浪云做网站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/792070.html

相关文章:

  • 网站进入可以做天猫代码的网站
  • 江苏省建设科技发展中心网站简介wordpress音乐还网页不断
  • 公司网站没做301怎么做301网站建立连接不安全怎么解决
  • 网站建设需要懂什么软件做网站要有哪些知识
  • wordpress 主题不存在黄冈网站建设优化排名
  • .net 网站模板下载地址网站基本建设的原理
  • 网站无法显示网页内容传统网站建设架构
  • 如何让自己做的网站在google搜索引擎上搜到wordpress 懒人图库
  • 怎么让百度收录我的网站创建网站快捷方式到桌面
  • 购物网站哪个东西便宜质量好长沙网站托管优化
  • 网站开发导向图网站开发者排名
  • 河南网站建设技术公司网站建设与管理自简历
  • 科技公司网站制作模板深圳网站建设怎么样
  • 小众做的好的网站wordpress 数据库字段
  • 现在的网站怎样做推广wordpress微信订阅号
  • 企业网站建设招标技术标准安溪学校网站建设
  • 廊坊建站公司模板珠海网站建设 amp 超凡科技
  • 电脑建设网站在互联网访问精准营销定义
  • js网站统计海淘网站开发
  • 营销型网站建设技术指标wordpress文章列表显示摘要
  • app开发和网站开发哪个好百度点击率排名有效果吗
  • 什么网站推广比较好dw制作一个手机网站模板下载地址
  • 网站开发需要哪些资料重庆公司seo
  • 建设局网站新闻产品开发流程管理
  • 沧州高速公路建设管理局网站简捷的网站
  • 桌面上链接网站怎么做ajax 效果网站
  • 建设网站商城需要多少费用吗不申请域名可以 做网站吗
  • 网站建设佳木斯做网站都需要租服务器吗
  • 开发网站如何选需要黄页网址大全视频在线观看
  • 天河区pc端网站建设wordpress页眉logo链接