35 lines
609 B
Vue
35 lines
609 B
Vue
<template>
|
|
<div>
|
|
{{ film }}
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapGetters } from "vuex";
|
|
|
|
export default {
|
|
name: "Film",
|
|
head() {
|
|
return {
|
|
titleTemplate: `%s - ${this.film.title}`
|
|
};
|
|
},
|
|
validate({ params }) {
|
|
const uuid = new RegExp(
|
|
/^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-4[0-9A-Za-z]{3}-[89ABab][0-9A-Za-z]{3}-[0-9A-Za-z]{12}$/
|
|
);
|
|
return uuid.test(params.id);
|
|
},
|
|
async asyncData({ params, store }) {
|
|
await store.dispatch("films/getFilm", params.id);
|
|
},
|
|
computed: {
|
|
...mapGetters({
|
|
film: "films/film"
|
|
})
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style></style>
|