vue+element实现面包屑切换

vue+element实现面包屑切换
router.js 路由文件

import Vue from 'vue'
import VueRouter, { RouteConfig } from 'vue-router'
// 新建四个页面
import Home from '../views/Home.vue'
const About = () => import('../views/About.vue')
const Login = () => import('../views/Login.vue')
const aboutChildren = () => import('../views/aboutChildren.vue')
Vue.use(VueRouter)

const routes: Array<RouteConfig> = [
  {
    path: '/',
    name: 'Home',
    component: Home,
    children: [
      {
        path: 'about',
        name: 'About',
        component: About,
        meta: {
          tiele: "关于页面",
          breadcrumb: [
            {
              path: '/',
              meta: {
                title: '首页'
              }
            },
            {
              meta: {
                title: '关于页面'
              },

            }
          ]
        },
        children: [
          {
            path: "/aboutChildren",
            component: aboutChildren,
            meta: {
              tiele: "关于的子页面",
              breadcrumb: [
                {
                  meta: {
                    title: '首页'
                  }
                },
                {
                  path: '/about',
                  meta: {
                    title: '关于页面'
                  },
                },
                {
                  meta: {
                    title: '关于的子页面'
                  },
                }
              ]
            },
          }
        ]
      },
      {
        path: 'login',
        name: 'Login',
        component: Login,
        meta: {
          tiele: "登录页面",
          breadcrumb: [
            {
              path: '/',
              meta: {
                title: '首页'
              }
            },
            {
              meta: {
                title: '登录页面'
              }
            }
          ]
        }
      }
    ]
  },
]
const router = new VueRouter({
  routes
})
export default router

App.vue文件

<template>
  <div id="app">
    <div style="margin-top: 40px">
      <el-breadcrumb separator="/">
        <el-breadcrumb-item v-if="routePaht">首页</el-breadcrumb-item>
        <el-breadcrumb-item
          v-else
          v-for="(item, index) in routeBreadcrumb"
          :key="index"
          :to="item.path"
          >{{ item.meta.title }}</el-breadcrumb-item
        >
      </el-breadcrumb>
      <div id="nav">
        <router-link to="/">Home</router-link> |
        <router-link to="/about">About</router-link>
        <router-link to="/login">login</router-link>
        <router-link to="/aboutChildren">aboutChildren</router-link>
        <!-- aboutChildren -->
      </div>
    </div>
    <router-view />
  </div>
</template>
<script leng="ts">
import vue from "vue";
export default vue.extend({
  data() {
    return {};
  },
  computed: {
    routePaht() {
      if (this.$route.path === "/") return true;
    },
    routeBreadcrumb() {
      return this.$route.meta.breadcrumb;
    },
  },
});
</script>
<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
#nav {
  padding: 30px;
}

#nav a {
  font-weight: bold;
  color: #2c3e50;
}

#nav a.router-link-exact-active {
  color: #42b983;
}
a {
  margin: 30px 30px;
}
</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值