diff --git a/src/App.vue b/src/App.vue index 00ddb11..f77ecbf 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,15 +1,21 @@ diff --git a/src/components/menu/menu.js b/src/components/menu/menu.js index 9bed16e..e0dc9b7 100644 --- a/src/components/menu/menu.js +++ b/src/components/menu/menu.js @@ -87,6 +87,7 @@ export default { this.$i18n.mergeLocaleMessage(key, this.i18n[key]) }) } + this.$emit('i18nComplete', this.$i18n._getMessages()) }, created () { this.updateMenu() diff --git a/src/components/page/PageHeader.vue b/src/components/page/PageHeader.vue index bf4a873..59d4aea 100644 --- a/src/components/page/PageHeader.vue +++ b/src/components/page/PageHeader.vue @@ -4,8 +4,8 @@ @@ -46,7 +46,14 @@ export default { avatar: { type: String, required: false - } + }, + i18n: Object + }, + created() { + let i18n = this.i18n + Object.keys(i18n).forEach(key => { + this.$i18n.mergeLocaleMessage(key, i18n[key]) + }) }, computed: { layout () { diff --git a/src/layouts/GlobalHeader.vue b/src/layouts/GlobalHeader.vue index 0d2f1c6..200a60e 100644 --- a/src/layouts/GlobalHeader.vue +++ b/src/layouts/GlobalHeader.vue @@ -8,7 +8,7 @@
- +
@@ -23,7 +23,7 @@
- + cn 简体中文 hk 繁体中文 us English @@ -39,7 +39,7 @@ import HeaderSearch from './HeaderSearch' import HeaderNotice from './HeaderNotice' import HeaderAvatar from './HeaderlAvatar' import IMenu from '../components/menu/menu' -import {mapState} from 'vuex' +import {mapState, mapMutations} from 'vuex' export default { name: 'GlobalHeader', @@ -64,9 +64,7 @@ export default { onSelect (obj) { this.$emit('menuSelect', obj) }, - changeLang(lang) { - this.$store.commit('setting/setLang', lang.key) - } + ...mapMutations('setting', ['setLang', 'setRoutesI18n']) } } diff --git a/src/layouts/PageLayout.vue b/src/layouts/PageLayout.vue index ef09922..ad5df11 100644 --- a/src/layouts/PageLayout.vue +++ b/src/layouts/PageLayout.vue @@ -1,10 +1,10 @@