fix[Breadcurmb]: fixed router-link bug

This commit is contained in:
Pan 2018-11-09 17:59:34 +08:00
parent c13b574794
commit a51d72f42e
1 changed files with 9 additions and 1 deletions

View File

@ -3,7 +3,7 @@
<transition-group name="breadcrumb"> <transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item,index) in levelList" v-if="item.meta.title" :key="item.path"> <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> <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> </el-breadcrumb-item>
</transition-group> </transition-group>
</el-breadcrumb> </el-breadcrumb>
@ -46,6 +46,14 @@ export default {
const { params } = this.$route const { params } = this.$route
var toPath = pathToRegexp.compile(path) var toPath = pathToRegexp.compile(path)
return toPath(params) return toPath(params)
},
handleLink(item) {
const { redirect, path } = item
if (redirect) {
this.$router.push(redirect)
return
}
this.$router.push(this.pathCompile(path))
} }
} }
} }