Следующий код работает нормально. Когда мы меняем язык, текст обновляется правильно благодаря ref
:
const mainNavigationLinks = computed(() => [
{ label: context.root.$t('navigationMenu.home') },
{ label: context.root.$t('navigationMenu.tickets') },
])
return {
mainNavigationLinks,
}
Но что мы действительно хотели бы, так это иметь mainNavigationLinks
как объект reactive
, чтобы мы могли добавить и удалите элементы из массива и попросите Vue обновить компоненты в соответствии с правильными переводами, используя ref
внутри array
. Согласно Vue docs это должно быть возможно
Однако, когда мы пробуем код ниже, мы видим, что метка больше не является реактивной:
const mainNavigation = reactive([
{ label: context.root.$t('navigationMenu.home') },
{ label: context.root.$t('navigationMenu.tickets') },
])
const mainNavigationLinks = computed(() => mainNavigation)
Чего нам здесь не хватает, чтобы можно было добавлять элементы в массив и при этом сохранять его реактивность? Спасибо за помощь.