将 single-spa 道具传递给 i18n 实例化
Pass single-spa prop to i18n instantiation
有没有办法将 single-spa prop 传递给 vue i18n 实例,并将其分配给 messages i18n prop。
I18n 构造函数:
const i18n = new VueI18n({
locale: process.env.VUE_APP_I18N_LOCALE,
messages: {},
});
Vue 单水疗实例:
const vueLifecycles = singleSpaVue({
Vue,
appOptions: {
el: '#account',
render() {
return (
<App
eventBus={this.$data.eventBus}
lang={this.$data.lang}
></App>
);
},
i18n,
},
});
信息:我无法在渲染函数之外访问 lang
。
基本上,我的 i18n 消息对象中需要 lang 属性。我已经尝试 return 语言,但它进入构造函数,不起作用。
我还尝试在收到 lang
后重新实例化 i18n/messages,但也不起作用。
还有其他想法吗?
所以我想通了。只能通过以下方式更改已安装的 vue 实例中的消息:
this.$i18n.setLocaleMessage = newLangObj
有没有办法将 single-spa prop 传递给 vue i18n 实例,并将其分配给 messages i18n prop。
I18n 构造函数:
const i18n = new VueI18n({
locale: process.env.VUE_APP_I18N_LOCALE,
messages: {},
});
Vue 单水疗实例:
const vueLifecycles = singleSpaVue({
Vue,
appOptions: {
el: '#account',
render() {
return (
<App
eventBus={this.$data.eventBus}
lang={this.$data.lang}
></App>
);
},
i18n,
},
});
信息:我无法在渲染函数之外访问 lang
。
基本上,我的 i18n 消息对象中需要 lang 属性。我已经尝试 return 语言,但它进入构造函数,不起作用。
我还尝试在收到 lang
后重新实例化 i18n/messages,但也不起作用。
还有其他想法吗?
所以我想通了。只能通过以下方式更改已安装的 vue 实例中的消息:
this.$i18n.setLocaleMessage = newLangObj