vue与vue-i18n结合实现后台数据的多语言切换方法

在XXX.js文件中定义函数:

getUser(context,info){
  context.$http.get(SERVER_URL+'/users',info).then(function(data){
   let err =data.body.error;
   if(err===0){
    let dataObj = data.body.userLists;  //获取后台返回的数据
    this.users = dataObj.items.map(function (e,i) {  //遍历获取的数据,用this.$t()将每项数据与翻译资源对应
     e.gender=context.$t(e.gender);            //context 是this, gender 与 diabetes_type 为每个items里的key;gender里的value有三种:'GDRNF'、‘GDRF'、‘GDRM'
     e.diabetes_type = context.$t(e.diabetes_type);
     return e;
    });
    this.listLoading = false;
    // console.log(dataObj);
   }
  })
 },

然后可以在vue 组件中调用函数 :XXX.getUser(this,info); 将后台获取的数据做相应操作后放入users数组;

以上方法是通过map函数遍历获取到的数据,用this.$t()将items的value与翻译资源中的value对应,从而实现后台数据的多语言切换;

en.json翻译资源中的部分数据:

{ 
  "GDRNF":"Not Fill", 
  "GDRF":"Female", 
  "GDRM":"Male", 
 } 

以上这篇vue与vue-i18n结合实现后台数据的多语言切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(vue与vue-i18n结合实现后台数据的多语言切换方法)