Задать вопрос
@Jussss92

Как сделать глобальный метод во Vue3 composition Api?

Всем привет.
Я хочу сделать фильтр с библиотекой i18n для перевода в composition, но т.к. там фильтров уже нет, то вынести в глобальный метод.
const { t } = useI18n()
Саму обработку через функцию t в main.js я не могу т.к. метод составной и он просит добавить его в setup.
Думаю добавить его из App.vue , но не могу обратиться к Vue. (this === undefined)

Так вот вопрос, как правильно задать этот глобальный метод?
  • Вопрос задан
  • 271 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • HTML Academy
    Vue.js 3 — разработка клиентских приложений
    1 месяц
    Далее
  • Академия Эдюсон
    Frontend-разработчик + ИИ
    9 месяцев
    Далее
  • Stepik
    Frontend разработчик на HTML, CSS и JavaScript
    4 месяца
    Далее
Решения вопроса 1
@modelair
unsocial
ключ - getCurrentInstance

import { getCurrentInstance } from 'vue'

export function useI18n() {
    const instance = getCurrentInstance()
    if (!instance) return (localeString: string) => localeString // вернем строку обратно
    return instance.appContext.config.globalProperties.$t
}


<script setup lang="ts">
import useI18n from '@/utils/useI18n'

const t = useI18n()
</script>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы