From acebaeae0c57b7300e2aabe4733ec3c2580d0838 Mon Sep 17 00:00:00 2001 From: Pan <panfree23@gmail.com> Date: Wed, 6 Dec 2017 14:18:28 +0800 Subject: [PATCH] perf(i18n): add generateTitle to utils --- src/components/Breadcrumb/index.vue | 6 +++--- src/utils/i18n.js | 3 +++ src/views/layout/components/Sidebar/SidebarItem.vue | 6 +++--- src/views/layout/components/TagsView.vue | 5 +++-- 4 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 src/utils/i18n.js diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue index e50163c1..a30fe0cd 100644 --- a/src/components/Breadcrumb/index.vue +++ b/src/components/Breadcrumb/index.vue @@ -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) } } } diff --git a/src/utils/i18n.js b/src/utils/i18n.js new file mode 100644 index 00000000..6c9a8689 --- /dev/null +++ b/src/utils/i18n.js @@ -0,0 +1,3 @@ +export function generateTitle(title) { + return this.$t('route.' + title) // $t :this method from vue-i18n ,inject in @/lang/index.js +} diff --git a/src/views/layout/components/Sidebar/SidebarItem.vue b/src/views/layout/components/Sidebar/SidebarItem.vue index 4c5a3f5a..c948748d 100644 --- a/src/views/layout/components/Sidebar/SidebarItem.vue +++ b/src/views/layout/components/Sidebar/SidebarItem.vue @@ -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> diff --git a/src/views/layout/components/TagsView.vue b/src/views/layout/components/TagsView.vue index 134efc5f..704f274d 100644 --- a/src/views/layout/components/TagsView.vue +++ b/src/views/layout/components/TagsView.vue @@ -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() { -- GitLab