vue-element-admin中布局设置

戏子无情 提交于 2019-11-28 08:38:49

vue-element-admin 中大部分页面都是基于这个 layout 的,除了个别页面如:login , 404401 等页面没有使用该layout。如果你想在一个项目中有多种不同的layout也是很方便的,只要在一级路由那里选择不同的layout组件就行。

// No layout  {    path: '/401',    component: () => import('errorPage/401')  }    // Has layout  {    path: '/documentation',      // 你可以选择不同的layout组件    component: Layout,      // 这里开始对应的路由都会显示在app-main中 如上图所示    children: [{      path: 'index',      component: () => import('documentation/index'),      name: 'documentation'    }]  }  

这里使用了 vue-router 路由嵌套, 所以一般情况下,你增加或者修改页面只会影响 app-main这个主体区域。其它配置在 layout 中的内容如:侧边栏或者导航栏都是不会随着你主体页面变化而变化的。

/foo                                  /bar  +------------------+                  +-----------------+  | layout           |                  | layout          |  | +--------------+ |                  | +-------------+ |  | | foo.vue      | |  +------------>  | | bar.vue     | |  | |              | |                  | |             | |  | +--------------+ |                  | +-------------+ |  +------------------+                  +-----------------+  

当然你也可以一个项目里面使用多个不同的 layout,只要在你想作用的路由父级上引用它就可以了。

 

#app-main

对应代码

@/layout/components/AppMain

这里在 app-main 外部包了一层 keep-alive 主要是为了缓存 <router-view> 的,配合页面的 tabs-view 标签导航使用,如不需要可自行去除。

其中transition 定义了页面之间切换动画,可以根据自己的需求,自行修改转场动画。相关文档。默认提供了fadefade-transform两个转场动画,具体 css 实现见transition.scss。如果需要调整可在AppMain.vue中调整transition 的 name

 

#router-view

Different router the same component vue 真实的业务场景中,这种情况很多。比如:

创建编辑的页面使用的是同一个 component,默认情况下这两个页面切换时并不会触发 vue 的 created 或者 mounted 钩子,官方说你可以通过 watch $route 的变化来进行处理,但说真的还是蛮麻烦的。后来发现其实可以简单的在 router-view 上加上一个唯一的 key,来保证路由切换时都会重新渲染触发钩子了。这样简单的多了。

 

 

 

http://www.yajuxuan.cn
http://www.jellytoyboy.cn
http://www.zinusshop.cn
http://www.royalemmy.cn
http://www.eminis.cn
http://www.liancans.cn
http://www.chunyus.cn
http://www.radloves.cn
http://www.joefurai.cn
http://www.iammix27.cn
http://www.ferzige.cn
http://www.miccbeirn.cn
http://www.tangmufangs.cn
http://www.nalthai.cn
http://www.qingmutangjj.cn
http://www.xigejiaju.cn
http://www.marklesss.cn
http://www.eazzs.cn
http://www.weishas.cn
http://www.lackwars.cn
http://www.eternelle.cn
http://www.jessiejanes.cn
http://www.gusheyanjing.cn
http://www.burkepoohs.cn
http://www.occaa.cn
http://www.khoty.cn
http://www.sanqintang.cn
http://www.teknum.cn
http://www.huianters.cn
http://www.nuanshehome.cn

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!