diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index 70ecbf1bc0d7438d633b8cfed817222466317185..554abe8d3650e57976695e1bea84c1e2aec073ff 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -3,7 +3,7 @@ <transition-group name="breadcrumb"> <el-breadcrumb-item v-for="(item,index) in levelList" v-if="item.meta.title" :key="item.path"> <span v-if="item.redirect==='noredirect'||index==levelList.length-1" class="no-redirect">{{ generateTitle(item.meta.title) }}</span> - <router-link v-else :to="item.redirect||pathCompile(item.path)">{{ generateTitle(item.meta.title) }}</router-link> + <a v-else @click.prevent="handleLink(item)">{{ generateTitle(item.meta.title) }}</a> </el-breadcrumb-item> </transition-group> </el-breadcrumb> @@ -46,6 +46,14 @@ export default { const { params } = this.$route var toPath = pathToRegexp.compile(path) return toPath(params) + }, + handleLink(item) { + const { redirect, path } = item + if (redirect) { + this.$router.push(redirect) + return + } + this.$router.push(this.pathCompile(path)) } } }