Components.vue 901 B

123456789101112131415161718192021222324252627282930313233
  1. <template>
  2. <div v-for="component in componentStore.components" :key="component.id">
  3. <div v-if="component.bg === true" class="component component-bg-top"> </div>
  4. <div :class="`component component-padding ${component.type}`">
  5. <h3>{{component.label}}</h3>
  6. <Content :jsonContent="component.content" />
  7. </div>
  8. <div v-if="component.bg === true" class="component component-bg-bottom"> </div>
  9. </div>
  10. </template>
  11. <script lang="ts">
  12. import { useComponentStore } from '@/stores/component'
  13. import { useI18n } from 'vue-i18n'
  14. import Content from '@/components/Content.vue'
  15. export default {
  16. components:{Content},
  17. setup(){
  18. const { t, locale } = useI18n({
  19. inheritLocale: true
  20. })
  21. const componentStore = useComponentStore()
  22. return{
  23. t,
  24. locale,
  25. componentStore
  26. }
  27. }
  28. }
  29. </script>