1.添加layout文件夾,存放多個layout文件,其中<router-view/>是預留的可變區域位置
2.main.js中引入layout
3.router index.js中配置頁面需要使用的不同layout名稱
4.App.vue中配置(標紅部分)
<template> <div id="app"> <component :is="layout"> <router-view v-if="isRouterAlive"/> </component> </div> </template> <script> export default { name: 'App', provide(){ return { reload: this.reload } }, data(){ return { default_layout: 'default',//設置layout isRouterAlive: true, } }, computed:{ layout(){ return (this.$route.meta.layout || this.default_layout) + '-layout' } }, methods: { //通過聲明reload方法,控制router-view的顯示或隱藏,從而控制頁面的再次加載 reload(){ this.isRouterAlive = false; this.$nextTick(function () { this.isRouterAlive = true; }) } } } </script> <style> </style>