如何从 vue-i18n 的数据库中获取数据?
How to get data from database for vue-i18n?
我想从数据库中获取 i18n 的语言数据。我使用会话存储来保存数据,然后从 API 获取数据。但是在会话存储从数据库中获取数据之前创建的 i18n。如何在创建 i18n 之前创建会话存储?
i18n
store
call
我使用主 App.js 文件中的 mounted() 挂钩来查询 (javascript) session storage。像这样:
mounted () {
// see if we have a user in Session Storage
// yes? commit it to store
if (sessionStorage.getItem('username') && sessionStorage.getItem('userId') && sessionStorage.getItem('permission') && sessionStorage.getItem('userKey')) {
let obj = {
username: sessionStorage.getItem('username'),
userId: sessionStorage.getItem('userId'),
permission: sessionStorage.getItem('permission'),
key: sessionStorage.getItem('userKey')
}
this.$store.commit('setUser', obj)
// no? commit default 'Guest' user
} else {
this.$store.commit('setUserToGuest')
}
}
这不是实际的 SESSION 存储,因此也必须在 javascript 中进行设置。当我从用户登录 http 请求返回时,我这样设置变量:
loginCheck () {
api.user.login(this.username1, this.password1).then((response) => {
if (response.data.login.pass > 0) {
// set session . . .
sessionStorage.setItem('username', response.data.login.username)
sessionStorage.setItem('userId', response.data.login.id)
sessionStorage.setItem('permission', response.data.login.permission)
sessionStorage.setItem('userKey', response.data.login.user_key)
// set the store
let obj = {
userId: response.data.login.id,
username: response.data.login.username,
permission: response.data.login.permission,
key: response.data.login.user_key
}
this.$store.commit('setUser', obj)
} else {
// set session . . .
sessionStorage.setItem('username', 'Guest')
sessionStorage.setItem('userId', 0)
sessionStorage.setItem('permission', 0)
sessionStorage.setItem('userKey', 0)
this.$store.commit('setUserToGuest')
}
})
}
我想从数据库中获取 i18n 的语言数据。我使用会话存储来保存数据,然后从 API 获取数据。但是在会话存储从数据库中获取数据之前创建的 i18n。如何在创建 i18n 之前创建会话存储?
i18n
store
call
我使用主 App.js 文件中的 mounted() 挂钩来查询 (javascript) session storage。像这样:
mounted () {
// see if we have a user in Session Storage
// yes? commit it to store
if (sessionStorage.getItem('username') && sessionStorage.getItem('userId') && sessionStorage.getItem('permission') && sessionStorage.getItem('userKey')) {
let obj = {
username: sessionStorage.getItem('username'),
userId: sessionStorage.getItem('userId'),
permission: sessionStorage.getItem('permission'),
key: sessionStorage.getItem('userKey')
}
this.$store.commit('setUser', obj)
// no? commit default 'Guest' user
} else {
this.$store.commit('setUserToGuest')
}
}
这不是实际的 SESSION 存储,因此也必须在 javascript 中进行设置。当我从用户登录 http 请求返回时,我这样设置变量:
loginCheck () {
api.user.login(this.username1, this.password1).then((response) => {
if (response.data.login.pass > 0) {
// set session . . .
sessionStorage.setItem('username', response.data.login.username)
sessionStorage.setItem('userId', response.data.login.id)
sessionStorage.setItem('permission', response.data.login.permission)
sessionStorage.setItem('userKey', response.data.login.user_key)
// set the store
let obj = {
userId: response.data.login.id,
username: response.data.login.username,
permission: response.data.login.permission,
key: response.data.login.user_key
}
this.$store.commit('setUser', obj)
} else {
// set session . . .
sessionStorage.setItem('username', 'Guest')
sessionStorage.setItem('userId', 0)
sessionStorage.setItem('permission', 0)
sessionStorage.setItem('userKey', 0)
this.$store.commit('setUserToGuest')
}
})
}