App.vue 763B

12345678910111213141516171819202122232425262728293031
  1. <script setup>
  2. import { computed, onMounted, ref } from 'vue';
  3. import Loader from '@/components/Loader.vue';
  4. import ScrollDown from '@/components/ScrollDown.vue';
  5. import Image from '@/components/Image.vue';
  6. import { preload } from '@/utils/preload';
  7. const loading = ref(true);
  8. const percent = ref(0);
  9. const resources = ref([]);
  10. const updateCallback = (num) => {
  11. percent.value = Math.round(num * 100);
  12. }
  13. onMounted(() => {
  14. preload(updateCallback).then((res) => {
  15. loading.value = false;
  16. resources.value = res;
  17. })
  18. });
  19. </script>
  20. <template>
  21. <Loader :loading="loading" :percent="percent" />
  22. <ScrollDown />
  23. <Image v-for="(res, inx) in resources" :key="res.image" :resource="res" :show-fog="inx === 0"></Image>
  24. </template>
  25. <style scoped>
  26. </style>