loading result items with route

This commit is contained in:
2019-09-24 17:43:57 +02:00
parent 665a5154d7
commit eaa00aa244
3 changed files with 74 additions and 6 deletions
+63
View File
@@ -0,0 +1,63 @@
<template>
<transition name="fade" appear>
<span v-if="!loaded">Loading...</span>
<article v-else class="item">
<header>
<h1>
{{ item.title }}
</h1>
</header>
<section v-html="item.tei" />
</article>
</transition>
</template>
<script>
import { REST } from 'api/rest-axios'
export default {
name: 'Item',
props: {
uuid: {
type: String,
required: true
}
},
data: () => ({
loaded: false,
item: {}
}),
watch: {
'$route' (to, from) {
console.log('item route change')
this.loadItem()
}
},
created () {
console.log('Item created', this.uuid)
this.loadItem()
},
updated () {
console.log('item updated', this.uuid)
},
methods: {
loadItem () {
this.loaded = false
REST.get(`/items/` + this.uuid, {})
.then(({ data }) => {
console.log('item REST: data', data)
this.item = data.content
this.loaded = true
})
.catch((error) => {
console.warn('Issue with item', error)
Promise.reject(error)
})
}
}
}
</script>
<style lang="scss" scoped>
</style>
+4 -6
View File
@@ -29,12 +29,10 @@ export default {
methods: {
onclick () {
console.log('clicked on result item', this.result)
// this.$router.push({
// name:`article`,
// params: { alias:this.alias },
// query: { uuid: this.item.uuid }
// // meta: { uuid:this.item.uuid },
// })
this.$router.push({
name: `item`,
params: { uuid: this.result.uuid }
})
}
}
}
+7
View File
@@ -2,6 +2,7 @@ import Vue from 'vue'
import Router from 'vue-router'
import Home from 'pages/Home'
import Item from 'components/Content/Item'
import Corpus from 'pages/Corpus'
import Nominum from 'pages/Nominum'
import NominumItem from 'components/Content/NominumItem'
@@ -18,6 +19,12 @@ const routes = [
path: '/',
component: Home
},
{
name: 'item',
path: '/items/:uuid',
component: Item,
props: true
},
{
name: 'corpus',
path: '/corpus',