Files
ghibli-api/pages/people/_id.vue

36 lines
677 B
Vue

<template>
<div>
{{ person }}
</div>
</template>
<script>
import { mapGetters } from "vuex";
export default {
name: "Person",
head() {
return {
titleTemplate: `%s - ${this.person.name}`
};
},
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 }) {
if (!store.state.people.person.id !== params.id)
await store.dispatch("people/getPerson", params.id);
},
computed: {
...mapGetters({
person: "people/person"
})
}
};
</script>
<style></style>