Home  >  Article  >  Web Front-end  >  vue 2.0 and elementUI implement breadcrumb navigation bar method code

vue 2.0 and elementUI implement breadcrumb navigation bar method code

小云云
小云云Original
2018-02-22 13:03:276609browse

This article mainly shares with you the code of the breadcrumb navigation bar method implemented by vue 2.0 and elementUI. I hope it can help you.

Main.js

var routeList = [];
router.beforeEach((to, from, next) => {
  var index = -1;
  for(var i = 0; i < routeList.length; i++) {
    if(routeList[i].name == to.name) {
      index = i;
      break;
    }
  }
  if (index !== -1) {
//如果存在路由列表,则把之后的路由都删掉
    routeList.splice(index + 1, routeList.length - index - 1);
  } else if(to.name != &#39;登录&#39;){
    routeList.push({"name":to.name,"path":to.fullPath});
  }
  to.meta.routeList = routeList;
  next()
});

2. Use watch or beforeRouteEnter in the component to be used

<template>
    <p class="level-bread">
      <el-breadcrumb separator="/">
        <el-breadcrumb-item v-for="item in realList" :to="item.path">{{item.name}}</el-breadcrumb-item>
      </el-breadcrumb>
    </p>
</template>

<script>
    export default {
      name: "lelve-bread",
      created(){
        this.getRoutePath();
      },
      data() {
        return {
          realList: []
        }
      },
      methods:{
        getRoutePath() {
          this.realList = this.$route.meta.routeList;
        }
      },
      beforeRouteEnter(to,from, next) {
        next((vm) => {
          vm.realList = to.meta.routeList;
        });
      },
      // watch:{
      //   $route:function(newV,oldV) {
      //     this.realList =newV.meta.routeList;
      //   }
      // }
    }
</script>

Both are available.
It should be noted that beforeRouteEnter cannot access this at this time.

Official website description https://router.vuejs.org/zh-c...

const Foo = {
  template: `...`,
  beforeRouteEnter (to, from, next) {
    // 在渲染该组件的对应路由被 confirm 前调用
    // 不!能!获取组件实例 `this`
    // 因为当守卫执行前,组件实例还没被创建
  },
  beforeRouteUpdate (to, from, next) {
    // 在当前路由改变,但是该组件被复用时调用
    // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
    // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
    // 可以访问组件实例 `this`
  },
  beforeRouteLeave (to, from, next) {
    // 导航离开该组件的对应路由时调用
    // 可以访问组件实例 `this`
  }
}

Related recommendations:

WeChat How to implement the mini program navigation bar tab effect

layui navigation bar implementation code

jquery and css to implement the side navigation bar effect sample code


The above is the detailed content of vue 2.0 and elementUI implement breadcrumb navigation bar method code. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn