Я интегрировал nuxt-i18n в один из моих проектов для поддержки нескольких языков. Все работает нормально, но когда я переключаю язык при заполнении формы, все данные со страницы теряются.
Итак, я создал форму и использую v-model
для привязки данных к объекту данных страницы. ,
<div class="form-group">
<label for="username">{{ $t('form.username') }}</label>
<input v-model="user.username" type="username" class="form-control" id="username" />
</div>
Это объект данных страницы
data: () => {
return {
user: {
username: ''
}
}
Поэтому, когда я набираю имя пользователя в поле, модель обновляется, как я и ожидал. Но как только я переключаю язык с этой страницы, данные теряются, как только выбранный язык установлен.
Именно так я переключаю язык, нажимая, например, значок голландского флага.
switchLocalePath(locale.code) // local.code is 'nl' in this case
Когда пользователь переключает язык, слаг также должен обновиться. Код ниже показывает настройки для пакета i18n
в моем файле nuxt.config.js
.
modules: [
['nuxt-i18n', {
locales: [
{
code: 'en',
iso: 'en-US',
name: 'English'
},
{
code: 'nl',
iso: 'nl-NL',
name: 'Nederlands'
}
],
defaultLocale: 'nl',
parsePages: false,
pages: {
'account/register': {
en: '/account/register',
nl: '/account/registreren'
},
'account/index': {
en: '/account/login',
nl: '/account/inloggen'
}
},
vueI18n: {
fallbackLocale: 'nl',
messages: { nl, en }
}
}],
]
Фактический вопрос
Так что почти все работает так же, как я ожидать. Но каждый раз, когда я меняю язык, объект данных страницы очищается (не похоже, что страница действительно перезагружается). Поэтому при заполнении формы, а затем изменении языка перед отправкой все данные теряются.
Как я могу убедиться, что, если возможно, все данные сохраняются при переключении языка?
Заранее спасибо!