Передача пропуска single-spa в экземпляр i18n

есть ли способ передать опору single-spa экземпляру vue i18n, назначив ее опоре messages i18n.

Конструктор I18n:

const i18n = new VueI18n({
  locale: process.env.VUE_APP_I18N_LOCALE,
  messages: {},
});

Экземпляр Vue single-spa:

const vueLifecycles = singleSpaVue({
  Vue,
  appOptions: {
    el: '#account',
    render() {
      return (
        <App
          eventBus={this.$data.eventBus}
          lang={this.$data.lang}
        ></App>
      );
    },
    i18n,
  },
});

Информация: у меня нет доступа к lang вне функции рендеринга.

По сути, мне нужна опора lang внутри моего объекта сообщений i18n. Я уже пытался вернуть язык, но он в конструкторе не работает. Я также пытался восстановить i18n / messages после получения lang, тоже не работает. Есть другие идеи?


person Marcel Klein    schedule 21.01.2021    source источник


Ответы (1)


Вот и разобрался. Изменить сообщения в смонтированном экземпляре vue можно только с помощью:

this.$i18n.setLocaleMessage = newLangObj
person Marcel Klein    schedule 16.02.2021