我想通过api调用我的后端应用程序来获取我的翻译消息。在then
来电的axios
回调中,我想设置消息。
然而,问题似乎是VueRouter已经使用空翻译初始化,并且没有从then
回调中重新加载新的。
我有办法实现这个目标吗?
我试过了:
let messages = {};
window.axios.get(route('api.translation.translations.all'))
.then(response => {
messages = {
[currentLocale]: response.data,
}
});
console.log(messages);
const i18n = new VueI18n({
locale: currentLocale,
messages,
});
在消息完全设置之前调用new VueI18n
时,这不起作用。
window.axios.get(route('api.translation.translations.all'))
.then(response => {
messages = {
[currentLocale]: response.data,
};
console.log(messages);
app.$i18n.setLocaleMessage('en', messages)
});
这也不起作用。
谢谢!
答案 0 :(得分:0)
找到解决方案,我不需要指定语言环境,因为它是setLocaleMessage
的第一个参数。
window.axios.get(route('api.translation.translations.all'))
.then(response => {
messages = response.data;
app.$i18n.setLocaleMessage(currentLocale, messages);
});