vue中export default data()外面的数据如何通过$t获取动态值

发布时间 2023-08-21 15:14:31作者: 教练我想打篮球

如果将数据放到外面的`const`中,而不是在Vue组件的`data`选项中,那么无法直接通过`$t`方法来获取翻译文件的值。因为`$t`方法是Vue-i18n插件提供的实例方法,需要在Vue组件中使用。

如果你想在外部使用`$t`方法来获取翻译文件的值,可以将Vue-i18n的实例导出,并在外部文件中引入该实例来调用`$t`方法。

以下是一个示例,演示了如何在外部文件中通过引入Vue-i18n实例来使用`$t`方法:

```javascript
// i18n.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'

Vue.use(VueI18n)

const i18n = new VueI18n({
locale: 'zh-CN',
messages: {
'zh-CN': {
hello: '你好',
welcome: '欢迎'
},
'en-US': {
hello: 'Hello',
welcome: 'Welcome'
}
}
})

export default i18n
```

```javascript
// external.js
import i18n from './i18n'

const greeting = i18n.t('hello')
const message = i18n.t('welcome')

console.log(greeting) // 输出:你好
console.log(message) // 输出:欢迎
```

在上述示例中,我们首先在`i18n.js`文件中创建了Vue-i18n实例,并将其导出。然后,在`external.js`文件中通过引入该实例来调用`$t`方法,获取翻译文件的值。

这样,在外部文件中就可以通过引入Vue-i18n实例来使用`$t`方法,获取翻译文件的值。