vue维生实现多组件嵌套中个别组件存活不销毁的方法

  介绍

今天就跟大家聊聊有关vue维生实现多组件嵌套中个别组件存活不销毁的方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强>配置路由加以判断是否使用点火电极

MVideoUpload, MFileUpload为上传文件组件,故想之存活,而其他组件则需要挂起刷新数据,但由于MVideoUpload, MFileUpload分别嵌套在MVideos, MFiles组件中,为了保证跳转其他模块组件的时候,上传视频和上传文件的模块不销毁(因为一旦父组件销毁,子组件自然也销毁了),所以两个父组件也需要存活,只是之后需要再加以判断存活那几个子组件。

路由js:

{   路径:& # 39;资源# 39;   名称:& # 39;MResource& # 39;   元:{   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/资源# 39;),   孩子:(   {   路径:& # 39;视频# 39;   名称:& # 39;MVideos& # 39;   元:{   keepAlive:真的,//包含存活组件   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/视频/视频# 39;),   孩子:(   {   路径:& # 39;列表# 39;   名称:& # 39;MVideoList& # 39;   元:{   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/视频/VideosList& # 39;),   },   {   路径:& # 39;上传# 39;   名称:& # 39;MVideoUpload& # 39;   元:{   keepAlive:真的,//需要存活   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/视频/UploadVideo& # 39;),   },   {   路径:& # 39;更新# 39;   名称:& # 39;MVideoUpdate& # 39;   元:{   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/视频/UpdateVideo& # 39;),   },   {   路径:& # 39;细节# 39;   名称:& # 39;MVideoDetail& # 39;   元:{   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/视频/VideoDetail& # 39;),   },   ),   重定向:{名称:& # 39;MVideoList& # 39;}   },   {   路径:& # 39;文件# 39;   名称:& # 39;MFiles& # 39;   元:{   keepAlive:真的,//包含存活组件   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/文件/文件# 39;),   孩子:(   {   路径:& # 39;列表# 39;   名称:& # 39;MFileList& # 39;   元:{   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/文件/FilesList& # 39;),   },   {   路径:& # 39;上传# 39;   名称:& # 39;MFileUpload& # 39;   元:{   keepAlive:真的,//需要存活   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. .//管理/资源/文件/页面还是# 39;),   },   {   路径:& # 39;更新# 39;   名称:& # 39;MFileUpdate& # 39;   元:{   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/文件/UpdateFile& # 39;),   },   {   路径:& # 39;细节# 39;   名称:& # 39;MFileDetail& # 39;   元:{   身份验证:真//是否需要登录   },   组件:()=比;进口(& # 39;. ./页面/管理/资源/文件/FileDetail& # 39;),   },   ),   重定向:{名称:& # 39;MFileList& # 39;}   },   ),   重定向:{名称:& # 39;MFiles& # 39;}   },

<强>各父组件都是如此:

一层层判断哪些组件需要存活不销毁,从而实现对任意一个组件切换组件时使其存活不销毁。

& lt;过渡name=癱omponent-fade"模式=皁ut-in"比;   & lt; keep-alive>   & lt; router-view v=皉oute.meta.keepAlive"美元;/比;   & lt;/keep-alive>   & lt;/transition>   & lt;过渡的名字=癱omponent-fade"模式=皁ut-in"比;   & lt; router-view v=? route.meta.keepAlive"美元;/比;   & lt;/transition>

<强> vue页签模式+维生解决关闭页签后缓存组件未销毁问题

<强> 1。简介

vue使用页签模式,组件使用点火电极缓存,发现页签关闭后缓存组件未销毁,只是出于非活动状态

<强> 2。解决

使用点火电极的包括属性,这个属性包含了缓存组件的名称,可以将其赋值为动态属性

页签商店

出口默认{
  状态:{
  当前:layui.data(& # 39;标签# 39;)。当前| |{},//当前页签
  列表:layui.data(& # 39;标签# 39;)。列表| |[]//页签列表
  },
  getter: {/* *标签名称列表*/tagname(状态){
  返回state.list.map(函数(标签){返回tag.name})
  }
  }
  }

vue维生实现多组件嵌套中个别组件存活不销毁的方法