feature: add pathToRegexp to compile path (#1148)

This commit is contained in:
花裤衩 2018-09-30 13:45:38 +08:00 committed by Pan
parent f56385788c
commit 648868657a
2 changed files with 11 additions and 1 deletions

View File

@ -95,6 +95,7 @@
"node-sass": "^4.7.2", "node-sass": "^4.7.2",
"optimize-css-assets-webpack-plugin": "5.0.0", "optimize-css-assets-webpack-plugin": "5.0.0",
"ora": "3.0.0", "ora": "3.0.0",
"path-to-regexp": "2.4.0",
"portfinder": "1.0.13", "portfinder": "1.0.13",
"postcss-import": "11.1.0", "postcss-import": "11.1.0",
"postcss-loader": "2.1.6", "postcss-loader": "2.1.6",

View File

@ -11,6 +11,7 @@
<script> <script>
import { generateTitle } from '@/utils/i18n' import { generateTitle } from '@/utils/i18n'
import pathToRegexp from 'path-to-regexp'
export default { export default {
data() { data() {
@ -29,7 +30,15 @@ export default {
methods: { methods: {
generateTitle, generateTitle,
getBreadcrumb() { getBreadcrumb() {
let matched = this.$route.matched.filter(item => item.name) const { params } = this.$route
let matched = this.$route.matched.filter(item => {
if (item.name) {
// To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
var toPath = pathToRegexp.compile(item.path)
item.path = toPath(params)
return true
}
})
const first = matched[0] const first = matched[0]
if (first && first.name.trim().toLocaleLowerCase() !== 'Dashboard'.toLocaleLowerCase()) { if (first && first.name.trim().toLocaleLowerCase() !== 'Dashboard'.toLocaleLowerCase()) {
matched = [{ path: '/dashboard', meta: { title: 'dashboard' }}].concat(matched) matched = [{ path: '/dashboard', meta: { title: 'dashboard' }}].concat(matched)