IndexOperum.vue 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <template>
  2. <MainContentLayout id="index-operum" class="index">
  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.uuid">
  9. <OperumItem :item="item" />
  10. </li>
  11. </ul>
  12. <template v-slot:nav />
  13. </MainContentLayout>
  14. </template>
  15. <script>
  16. import { REST } from 'api/rest-axios'
  17. import MainContentLayout from '../components/Layouts/MainContentLayout'
  18. import OperumItem from '../components/Content/OperumItem'
  19. export default {
  20. name: 'IndexOperum',
  21. metaInfo: {
  22. title: 'Index Operum'
  23. },
  24. components: {
  25. OperumItem,
  26. MainContentLayout
  27. },
  28. data: () => ({
  29. items: []
  30. }),
  31. beforeCreate () {
  32. REST.get(`${window.apipath}/indexOperum`, {})
  33. .then(({ data }) => {
  34. console.log('index operum REST: data', data)
  35. if (data.content.length) {
  36. this.items = data.content
  37. }
  38. })
  39. .catch((error) => {
  40. console.warn('Issue with index operum', error)
  41. Promise.reject(error)
  42. })
  43. }
  44. }
  45. </script>
  46. <style lang="scss" scoped>
  47. </style>