我的主要app.js如何在vue-route中使用vue-i18n?
import Vue from 'vue' import language from './language' import VueI18n from 'vue-i18n' Vue.use(VueI18n) const i18n = new VueI18n({ locale: 'en', messages: language.messages, }) import router from './router' new Vue({ el: '#app', i18n, router, template: '<App/>', components: { App } })
的language.js
export default { messages : { en: { hello: 'hello!' }, ja: { hello: 'こんにちは!' }, zh: { hello: '你好!' } } }
我的問題是下面route.js代碼,這是我不能用
this.$i18n.t('hello')
,因爲$i18n
是無法使用。import Vue from 'vue' import Router from 'vue-router' export const myRouteMap = [ { path: '/', component: MyComponent, redirect: '/myHome', //name: 'Home', name: this.$i18n.t('hello') // can't use $i18n here. } ]
有沒有人也有類似情況,想在VUE路由使用國際化,並解決了問題?
'this'是不是在文件中的Vue的實例。你爲什麼試圖將路由名稱綁定到一個翻譯的變量?該名稱不應該改變 – thanksd
我正在使用'route.name'來向用戶界面顯示,並希望將其更改爲不同的語言。 – user2650480