**先看代码**
1、==》main.js基本配置:
import messages from './locale/index'
import VueI18n from 'vue-i18n'
let i18nConfig = {
locale:uni.getLocale(),
messages
}
Vue.use(VueI18n)
const i18n = new VueI18n(i18nConfig)
const app = new Vue({
i18n,
...App
})
2、==》手动切换多语言页面配置:
<!--页面布局-->
<radio-group class="lang_list" >
<label class="lang_item" v-for="item in languages" :key="item.name" @tap="languageChange(item.value)">
<text class="lang_text">{{item.name}}</text>
<radio class="radio" :value="item.value" :checked="current===item.value" />
</label>
</radio-group>
// JS部分
data(){
return {
languages:[
{name:"简体中文",value:"zh-Hans"},
{name:"繁體中文",value:"zh-Hant"},
{name:"English",value:"en"},
{name:"한국어",value:"ko"},
{name:"日本語",value:"ja"},
],
current:""
};
},
onLoad(){
this.current =this.$i18n.locale;
},
methods:{
languageChange(lang){
if(lang){
this.current = lang?lang:"zh-Hans";
uni.setStorageSync("language", lang);
this.$i18n.locale=lang
uni.setLocale(lang);
}
}
}
**问题:反复切换uni.setLocale() 安卓报错页面白屏***
反复切换方式:简体中文》繁體中文》English》한국어》日本語》简体中文》English;
测试非常容易触发!!前两个月使用的uni.setLocale()版本没有触发问题,不知道为何现在会有这种现象!
报错信息:
reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught SyntaxError: Invalid or unexpected token