Простой пример использования vuex. Устанавливаем vuex используя команду npm
npm install vuex --save # При использовании Vue 3.0 + Vuex 4.0 переход на 4 версию: npm install vuex@next --save
Создаем в директории src директорию store. Внутри директории store создаем файл index.js со следующим содержимым
import { createStore } from 'vuex' export default createStore({ state: { counter: 10 }, getters:{ getCount2(state){ return state.counter * 2; } }, mutations: { }, actions: { }, modules: { } })
Необходимо подключить наш созданный store к проекту используя строку
import store from './store'
Итоговый код моего файла main.js
import { createApp } from 'vue' import App from './App.vue' import store from './store' createApp(App) .use(store) .mount('#app')
После наши функции и переменные store становятся доступны в любом компоненте vue. Для вызова обращаемся:
// Обратится к геттеру this.$store.getters.getCount2; // Можно также обратится на прямую к переменной counter this.$store.state.counter
Пример использования в компоненте App
<template> {{ getCount2 }} </template> <script> export default { name: 'App', computed: { getCount2(){ return this.$store.getters.getCount2; } } } </script>
Vuex — паттерн управления состоянием + библиотека для приложений на Vue.js. Он служит централизованным хранилищем данных для всех компонентов приложения с правилами, гарантирующими, что состояние может быть изменено только предсказуемым образом
Добавить комментарий