2017-09-16 75 views
0

我想通过api调用我的后端应用程序获取我的翻译消息。在axios调用的then回调中,我想设置消息。通过axios调用设置vue路由器消息

但是,问题似乎是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

找到了解决方案,我不需要指定区域设置,因为它是setLocaleMessage的第一个参数。

window.axios.get(route('api.translation.translations.all')) 
    .then(response => { 
     messages = response.data; 

     app.$i18n.setLocaleMessage(currentLocale, messages); 
    });