{{ store.userInfo.name }}
import { userInfo } from '@/store/userInfo'
const store = userInfo()
const getClick = () => {
store.setUserInfo({
name: 'wangwu',
})
}
```
## 国际化配置
### 安装
```sh
npm install vue-i18n
```
### 配置
新建 `src/i18n/index.js` ,内容如下
```js
import { createI18n } from 'vue-i18n'
import homeEn from './home/en.js'
import homeZh from './home/zh.js'
const messages = {
en: {
home: { ...homeEn },
},
zh: {
home: { ...homeZh },
},
}
const language = (navigator.language || 'zh').toLocaleLowerCase() // 这是获取浏览器的语言
const i18n = createI18n({
legacy: false,
locale: localStorage.getItem('i18n') || language.split('-')[0] || 'zh', // 首先从缓存里拿,没有的话就用浏览器语言,
fallbackLocale: 'zh', // 设置备用语言
messages,
})
export default i18n
```
上面引入的中英文文件分别如下
`src/i18n/home/en.js`
```js
export default {
login: 'Log in',
userName: 'Username',
password: 'Password',
}
```
`src/i18n/home/zh.js`
```js
export default {
login: '登录',
userName: '用户名',
password: '密码',
}
```
在 `main.js` 文件中引入
```js
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
import i18n from '@/i18n/index.js'
app.use(i18n)
app.mount('#app')
```
### 使用
`$t` 不用在js中单独引入,在全局已经引入过了,所以这里在页面中可以直接使用
```vue