Sobes.tech
Middle

Чӣ тавр кор мекунад provide/inject дар Vue 3?

sobes.tech AI

Ҷавоб аз AI

Дар Vue 3, provide/inject истифода мешавад барои интиқоли маълумот ё вобастагиҳо аз компоненти падар ба фарзандон, бо гузаштан аз компонентҳои миёна.

  • provide дар компоненти падар эълон мешавад ва арзишҳоро пешниҳод мекунад.
  • inject дар компонентҳои фарзанд барои гирифтани ин арзишҳо истифода мешавад.

Ин барои интиқоли танзимоти глобалӣ, хизматрасониҳо ё маълумотҳое, ки ба компонентҳои амиқтар ниёз доранд, беназорат кардан осон аст, бе ниёз ба гузаронидани props дар ҳар сатҳ.

Масалан:

// Компоненти падар
export default {
  setup() {
    provide('theme', 'dark')
  }
}

// Компоненти фарзанд
export default {
  setup() {
    const theme = inject('theme')
    return { theme }
  }
}

Инчунин, компонентҳои фарзанд ба арзиши 'dark' ки аз ҷониби падар пешниҳод шудааст, дастрасӣ доранд.