首页 > 其他 > 详细

vue设置多个layout(页面公共内容布局)

时间:2020-06-04 21:55:53      阅读:959      评论:0      收藏:0      [点我收藏+]

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>

 

vue设置多个layout(页面公共内容布局)

原文:https://www.cnblogs.com/duanzhenzhen/p/13045613.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!