Use Vuex store to handle films
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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 = {};
|
||||||
|
|||||||
Reference in New Issue
Block a user