Use Vuex store to handle films

This commit is contained in:
2020-12-18 04:28:14 +01:00
parent 24d3a962bd
commit 734b924390
2 changed files with 19 additions and 10 deletions

View File

@@ -11,6 +11,7 @@
<script> <script>
import Grid from "@/components/Grid"; import Grid from "@/components/Grid";
import { mapState } from "vuex";
export default { export default {
name: "Films", name: "Films",
@@ -18,14 +19,11 @@ export default {
head: { head: {
titleTemplate: "%s - Films" titleTemplate: "%s - Films"
}, },
async asyncData({ $axios }) { async asyncData({ store }) {
const films = await $axios.$get("/api/films"); await store.dispatch("getFilms");
return { films };
}, },
data() { computed: {
return { ...mapState(["films"])
films: []
};
} }
}; };
</script> </script>

View File

@@ -1,7 +1,18 @@
export const state = () => ({}); export const state = () => ({
films: []
});
export const mutations = {}; export const mutations = {
setFilms: (state, films) => {
state.films = films;
}
};
export const actions = {}; export const actions = {
async getFilms({ commit }) {
const films = await this.$axios.$get("/api/films");
commit("setFilms", films);
}
};
export const getters = {}; export const getters = {};