Operum.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <MainContentLayout id="operum">
  3. <template v-slot:header>
  4. <h1>Œuvres</h1>
  5. <span v-if="!items.length">Loading ...</span>
  6. </template>
  7. <ul v-if="items.length" class="item-list">
  8. <li v-for="item in items" :key="item.url">
  9. <OperumItem :item="item" />
  10. </li>
  11. </ul>
  12. <template v-slot:nav>
  13. nav
  14. </template>
  15. </MainContentLayout>
  16. </template>
  17. <script>
  18. import { REST } from 'api/rest-axios'
  19. import MainContentLayout from '../components/Layouts/MainContentLayout'
  20. import OperumItem from '../components/Content/OperumItem'
  21. export default {
  22. name: 'Operum',
  23. components: {
  24. OperumItem,
  25. MainContentLayout
  26. },
  27. data: () => ({
  28. items: []
  29. }),
  30. beforeCreate () {
  31. REST.get(`/indexOperum`, {})
  32. .then(({ data }) => {
  33. console.log('operum REST: data', data)
  34. if (data.content.length) {
  35. this.items = data.content
  36. }
  37. })
  38. .catch((error) => {
  39. console.warn('Issue with operum', error)
  40. Promise.reject(error)
  41. })
  42. }
  43. }
  44. </script>
  45. <style lang="scss" scoped>
  46. </style>