1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <template>
- <MainContentLayout id="text" class="text">
- <template v-slot:header>
- <h1>
- {{ item.title }}
- </h1>
- <span v-if="!loaded">Loading...</span>
- </template>
- <div class="content" v-html="item.tei" />
- <template v-slot:nav />
- </MainContentLayout>
- </template>
- <script>
- import { REST } from 'api/rest-axios'
- import MainContentLayout from '../components/Layouts/MainContentLayout'
- export default {
- name: 'Item',
- components: {
- MainContentLayout
- },
- 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>
|