我的主要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