多个路由指向同一个组件,该组件会被复用,切换页面时不会重新渲染页面{path:'/home',name:'Home',component:pageComponent},{path:'/about',name:'About',component:pageComponent}]如果有的地方需要改变路由就刷新或者缓存操作,您可以执行组件的深拷贝,然后注册路由。此时不同的路由指向相同但不相等的组件,路由切换时也会切换对应的切换组件/***简单的深拷贝,只适用于对象*@param{Object}source*@returns{Object}*/exportfunctiondeepClone(source){if(!source&&typeofsource!=='object'){thrownewError('errorarguments','deepClone')}consttargetObj=source.constructor===大批?[]:{}Object.keys(source).forEach(keys=>{if(source[keys]&&typeofsource[keys]==='object'){targetObj[keys]=deepClone(source[keys])}else{targetObj[keys]=source[keys]}})returntargetObj}importpageComponentfrom'@/components/pageComponent'constnewPageComponent=deepClone(pageComponent)constroutes=[//路径配置每个路径选项都是一对象{path:'/home',name:'Home',component:pageComponent},{path:'/about',name:'About',component:newPageComponent}]
