There are quite many tutorials about vuex store out there, but most of them are too opaque for a novice to learn. This tutorial will teach you how to use Vuex Store in a project perspective instead of a single file demo.
In main.js
import Vue from "vue"; import Vuex from "vuex"; Vue.use(Vuex); const store = new Vuex.Store({ state: { loggedin: false }, mutations: { toggle(state) { // toggle the state state.loggedin = !state.loggedin; } }, getters: { loggedin() { return state.loggedin; } } }) new Vue({ el: "#app", render: h => h(App), store, router });
In .vue file,
<template> <side-bar v-if="loggedin" title=""> ... </side-bar> </template> <script> import TopNavbar from "./TopNavbar.vue"; import ContentFooter from "./ContentFooter.vue"; import DashboardContent from "./Content.vue"; export default { components: { TopNavbar, DashboardContent, ContentFooter }, computed: { loggedin() { return this.$store.state.loggedin; } } }; </script>