Назад к вопросам
Middle
7
Как работает provide/inject во Vue 3?
Компании, где спрашивали
RedLab
Ответ от нейросети
sobes.tech AI
В Vue 3 provide/inject используется для передачи данных или зависимостей от родительского компонента к потомкам, минуя промежуточные компоненты.
provideобъявляется в родительском компоненте и предоставляет значения.injectиспользуется в дочерних компонентах для получения этих значений.
Это удобно для передачи глобальных настроек, сервисов или данных, которые нужны глубоко вложенным компонентам без необходимости пробрасывать пропсы через каждый уровень.
Пример:
// Родительский компонент
export default {
setup() {
provide('theme', 'dark')
}
}
// Дочерний компонент
export default {
setup() {
const theme = inject('theme')
return { theme }
}
}
Таким образом, дочерний компонент получает доступ к значению 'dark', предоставленному родителем.