Compare commits

...

4 Commits

Author SHA1 Message Date
Pan
44b180a7b3 [release] 3.1.1 2017-12-06 14:19:06 +08:00
Pan
acebaeae0c perf(i18n): add generateTitle to utils 2017-12-06 14:18:28 +08:00
Pan
d09923ff4f fix[sidebar]:fixed when sidebar item only has one children but nested #327 2017-12-05 18:42:15 +08:00
Pan
fc1a13d10b [release] 3.1.0 2017-12-05 11:41:57 +08:00
5 changed files with 17 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "vue-element-admin",
"version": "3.0.0",
"version": "3.1.1",
"description": "A Vue.js admin",
"author": "Pan <panfree23@gmail.com>",
"license": "MIT",

View File

@@ -10,6 +10,8 @@
</template>
<script>
import { generateTitle } from '@/utils/i18n'
export default {
created() {
this.getBreadcrumb()
@@ -25,6 +27,7 @@ export default {
}
},
methods: {
generateTitle,
getBreadcrumb() {
let matched = this.$route.matched.filter(item => item.name)
const first = matched[0]
@@ -32,9 +35,6 @@ export default {
matched = [{ path: '/dashboard', meta: { title: 'dashboard' }}].concat(matched)
}
this.levelList = matched
},
generateTitle(title) {
return this.$t('route.' + title)
}
}
}

3
src/utils/i18n.js Normal file
View File

@@ -0,0 +1,3 @@
export function generateTitle(title) {
return this.$t('route.' + title) // $t :this method from vue-i18n ,inject in @/lang/index.js
}

View File

@@ -1,21 +1,21 @@
<template>
<div class="menu-wrapper">
<template v-for="item in routes">
<template v-for="item in routes" v-if="!item.hidden&&item.children">
<router-link v-if="!item.hidden&&item.children&&item.children.length===1" :to="item.path+'/'+item.children[0].path" :key="item.children[0].name">
<router-link v-if="item.children.length===1 && !item.children[0].children" :to="item.path+'/'+item.children[0].path" :key="item.children[0].name">
<el-menu-item :index="item.path+'/'+item.children[0].path" class='submenu-title-noDropdown'>
<svg-icon v-if="item.children[0].meta&&item.children[0].meta.icon" :icon-class="item.children[0].meta.icon"></svg-icon>
<span v-if="item.children[0].meta&&item.children[0].meta.title">{{generateTitle(item.children[0].meta.title)}}</span>
</el-menu-item>
</router-link>
<el-submenu v-if="!item.hidden&&item.children&&item.children.length>1" :index="item.name||item.path" :key="item.name">
<el-submenu v-else :index="item.name||item.path" :key="item.name">
<template slot="title">
<svg-icon v-if="item.meta&&item.meta.icon" :icon-class="item.meta.icon"></svg-icon>
<span v-if="item.meta&&item.meta.title">{{generateTitle(item.meta.title)}}</span>
</template>
<template v-if="!child.hidden" v-for="child in item.children">
<template v-for="child in item.children" v-if="!child.hidden">
<sidebar-item class="nest-menu" v-if="child.children&&child.children.length>0" :routes="[child]" :key="child.path"></sidebar-item>
<router-link v-else :to="item.path+'/'+child.path" :key="child.name">
@@ -32,6 +32,8 @@
</template>
<script>
import { generateTitle } from '@/utils/i18n'
export default {
name: 'SidebarItem',
props: {
@@ -40,9 +42,7 @@ export default {
}
},
methods: {
generateTitle(title) {
return this.$t('route.' + title)
}
generateTitle
}
}
</script>

View File

@@ -1,7 +1,7 @@
<template>
<scroll-pane class='tags-view-container' ref='scrollPane'>
<router-link ref='tag' class="tags-view-item" :class="isActive(tag)?'active':''" v-for="tag in Array.from(visitedViews)" :to="tag.path":key="tag.path">
{{$t('route.'+tag.title)}}
{{generateTitle(tag.title)}}
<span class='el-icon-close' @click='closeViewTags(tag,$event)'></span>
</router-link>
</scroll-pane>
@@ -9,6 +9,7 @@
<script>
import ScrollPane from '@/components/ScrollPane'
import { generateTitle } from '@/utils/i18n'
export default {
components: { ScrollPane },
@@ -21,6 +22,7 @@ export default {
this.addViewTags()
},
methods: {
generateTitle,
closeViewTags(view, $event) {
this.$store.dispatch('delVisitedViews', view).then((views) => {
if (this.isActive(view)) {
@@ -61,7 +63,6 @@ export default {
}
})
}
},
watch: {
$route() {