zoukankan      html  css  js  c++  java
  • 动态breadcrumb

    新建Breadcrumb.vue

    <template>
      <div class="example-container">
        <el-breadcrumb separator="/">
          <el-breadcrumb-item
            v-for="(item,index) in breadList"
            :key="index"
            :to="{ path: item.path }"
          >{{item.meta.title}}
          </el-breadcrumb-item>
        </el-breadcrumb>
      </div>
    </template>
    
    <script>
      export default {
        name: 'Breadcrumb',
        data() {
          return {
            breadList: [] // 路由集合
          };
        },
        watch: {
          $route() {
            this.getBreadcrumb();
          }
        },
        methods: {
          isHome(route) {
            return route.name === 'Home';
          },
          getBreadcrumb() {
            let matched = this.$route.matched;
            //如果不是首页
            if (!this.isHome(matched[0])) {
              matched = [{path: '/home', meta: {title: '首页'}}].concat(matched);
            }
            this.breadList = matched;
            console.log(this.breadList)
          }
        },
        created() {
          this.getBreadcrumb();
        }
      }
    </script>

    路由

    const router = new Router({
      routes: [
        {
          path: '/',
          redirect: '/home'
        },
        {
          path: '/home',
          name: 'home',
          component: Home,
          meta: { title: '首页' }
        },
        {
          path: '/setting',
          name: "setting",
          component: () => import('./views/setting/Setting.vue'),
          redirect: '/setting/user',
          meta: { title: '系统设置' },
          children: [{
            path: 'user',
            component: () => import('./views/setting/UserMange.vue'),
            name: 'usermanage',
            meta: { title: '用户管理' }
          }, {
            path: 'message',
            component: () => import('./views/setting/MesMange.vue'),
            name: 'mesmanage',
            meta: { title: '短信管理' }
          }]
        },
        {
          path: '/example',
          name: 'example',
          component: Example,
          meta: { title: '综合实例' }
        }
      ]
    });
    export default router;

    然后以子组件形式放到需要的地方

  • 相关阅读:
    Beta 冲刺(1/7)
    福大软工 · 第十次作业
    福大软工 · BETA 版冲刺前准备(团队)
    福大软工 · 第十一次作业
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    vue 写一个瀑布流插件
    微信小程序页面滚动到指定位置
    写一个vue的滚动条插件
  • 原文地址:https://www.cnblogs.com/ronle/p/11824756.html
Copyright © 2011-2022 走看看