Я делаю веб-приложение в Vuejs и использую vue-router с отдельными компонентами файла.
Когда пользователь вводит маршрут, вызывается функция created()
компонента. В функции created()
я загружаю данные с другого сайта, но я хочу, чтобы этот код выполнялся только один раз, чтобы он не загружался при каждом посещении страницы. Есть идеи по подходу?
Теперь это мой код:
<template>
<div>
<h1>Arrangementer</h1>
<br>
<div class="events">
<Event v-for="event in events"
:key="event.id"
:title="event.title"
:desc="event.desc"
:position="event.position"
:start_date="event.start_date"
:end_date="event.end_date"
:registration="event.registration"
:img_url="event.img_url"
:body="event.body" />
</div>
</div>
</template>
<script>
import Event from '../components/Event';
import axios from 'axios';
import rollbar from '../../server/logging';
export default {
components: {
Event
},
data: () => {
return {
events: {}
}
},
created() {
const vm = this;
axios.get('/api/events').then((response) => {
vm.events = response.data;
}).catch((e) => {
rollbar.error(e);
vm.$notify({
group: "varsel",
title: "En feil oppsto",
text: "Jeg klarte ikke å hente info :("
});
})
}
}
</script>