vue & vuex
vuex videos
https://scrimba.com/playlist/pnyzgAP
Vuex & Store
https://vuex.vuejs.org/api/#vuex-store
Constructor Options
Instance Properties & Instance Methods & Component Binding Helpers
state
https://vuex.vuejs.org/guide/state.html
https://scrimba.com/p/pnyzgAP/cWw3Zhb
state
<html>
<head>
<link rel="stylesheet" href="index.css">
</head>
<body>
<div id="app">
{{ count }}
</div>
<script src="index.pack.js"></script>
</body>
</html>
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
state: {
count: 0
}
});
new Vue({
el: '#app',
computed: {
// auto update state count value
count () {
return store.state.count
}
}
});
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
const store = new Vuex.Store({
state: {
count: 0
}
});
new Vue({
el: '#app',
store,
computed: {
count () {
return this.$store.state.count
}
}
});
mapState
mutations
https://vuex.vuejs.org/api/#mutations
actions
getters
modules
plugins
https://markus.oberlehner.net/blog/how-to-structure-a-complex-vuex-store/
https://github.com/maoberlehner/how-to-structure-a-complex-vuex-store
$ tree
src
├── App.vue
├── ...
├── store
│ ├── action-types.js
│ ├── index.js
│ ├── modules
│ │ ├── customer.js
│ │ ├── forms
│ │ │ ├── address.js
│ │ │ ├── contact.js
│ │ │ └── name.js
│ │ └── shipping-address.js
│ └── mutation-types.js
└── ...
https://forum.vuejs.org/t/dont-understand-how-to-use-mapstate-from-the-docs/14454/20