Как получить доступ к vuex из компонента Vue3?

В Vue я делал что-то вроде: store: store,.
Внутри компонента и дальше в методах компонента обращался в this.$store.
Теперь this.$store у компонента undefined.

Как подключить к компоненту store Vuex?

На данный момент приходится делать так:

export const DataInput = {
    store: store,
	props: {
		modelValue: {
			type: String
		},
        classprefix: {
			type: String,
			required: true
		},
        title: {
            type: String
        }
	},
    emits: ['update:modelValue'],
	data ()
	{
		return {
			value: ''
		}
	},
    computed: {
        templateDir ()
        {
            return this.$options.store.state.config.bitrix.SITE_TEMPLATE_PATH;
        }
    },
  • Вопрос задан
  • 365 просмотров
Пригласить эксперта
Ответы на вопрос 1
@stanislavkm
смотря к чему именно хотите обратиться.
если к state, то this.$store.state.(тут название переменной в state). Например:
this.$store.state.items
в самом компоненте стоить импортировать mapactions и mapgetters при необходимости:
import {mapActions, mapGetters} from 'vuex'
если к actions, то в компоненте в methods указываете:
methods:{
    ...mapActions([
      //тут названия ваших actions
      'GET_ITEMS'
    ]),

если к getters, то в computed:
computed: {
      ...mapGetters([
        //название ваших getters
        'ITEMS'
      ]),
  },
Ответ написан
Ваш ответ на вопрос

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

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