Я использую VueJS 3 (через CDN) для получения списка файлов.
Мой код работает с нажатием кнопки, но я хотел бы изменить его, чтобы он извлекал файлы при начальной загрузке страницы.
<script>
const {
createApp,
ref
} = Vue
createApp({
setup() {
const files = ref([]);
function getfiles() {
const res1 = fetch('/api/files.json')
.then(response => response.json())
.then(data => {
this.requestfiles = data.data.files;
})
.catch(error => {
console.error("There was an error! ", error)
});
}
return {
getfiles,
files
}
}
}).mount('#app');
</script>





Это один из способов решения задач с использованием подхода CDN.
<script src = "https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id = "app">
<p v-for = "file in files" :key = "file.id">
- {{ file.title }}
</p>
</div>
<script>
const {
createApp,
ref
} = Vue
createApp({
setup() {
const files = ref([]);
async function getfiles() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/todos/')
const result = await response.json()
files.value = result
} catch(error) {
console.error("There was an error! ", error)
}
}
getfiles()
return {
getfiles,
files
}
}
}).mount('#app');
</script>Поскольку на данный момент у вас нет большого проекта, вы можете оставить все в части setup, но тогда вы могли бы быть более детализированными и использовать created, mounted и т. д...хуки жизненного цикла.
Я обновил его, добавив v-for итерацию с этой страницы документации.
Спасибо за ответ! это работает для одного элемента, но я бы хотел использовать все элементы массива из jsonplaceholder.typicode.com/todos