路由懒加载

作用:减少首页渲染的时候

  1. {
  2. path: '/about',
  3. name: 'About',
  4. component: ()=>import("../views/About.vue")
  5. }

路由元信息

一、配置

  1. {
  2. path: '/',
  3. name: 'home',
  4. component: () => import('@/views/Home'),
  5. meta: {
  6. keepAlive: true
  7. }
  8. }

meta.png

  1. 使用这个可以做到让导航条在有meta的页面显示,没有meta的页面不显示

Tips:设置路由懒加载之后,App.vue中的this就拿到不路由的路径了

利用meta实现导航条在detail页面的隐藏

  1. # 1router/index.js 让显示导航条的路由设置metaisNav=true
  2. const routes = [
  3. {
  4. path: '/films',
  5. name: 'Films',
  6. component:Films,
  7. meta:{
  8. isNav:true
  9. }
  10. },
  11. {
  12. path: '/article',
  13. name: 'About',
  14. component:Aritcle,
  15. meta:{
  16. isNav:true
  17. }
  18. },{
  19. path:"/center",
  20. name:"Center",
  21. component:Center,
  22. meta:{
  23. isNav:true
  24. }
  25. },{
  26. path:"/movie/:id",
  27. name:"MovieDetail",
  28. component:MovieDetail
  29. }
  30. ]
  1. # 2App.vue中获取meta,去设置导航
  2. <template>
  3. <div id="app">
  4. <!-- <tar-bar v-if="this.$route.meta.isNav"></tar-bar> -->
  5. <tar-bar v-if="isShow"></tar-bar>
  6. <router-view />
  7. </div>
  8. </template>
  9. <script>
  10. import TarBar from '@/components/TarBar.vue'
  11. export default {
  12. components:{
  13. TarBar
  14. },
  15. mounted(){
  16. console.log(this.$route)
  17. },
  18. computed:{
  19. isShow(){
  20. return this.$route.meta.isNav
  21. }
  22. }
  23. };
  24. </script>