<template> <div class="content"> <FilterBar :fetch-releases="fetchReleases" :is-home="true" /> <div class="content-inner"> <Releases :releases="releases" /> </div> </div> </template> <script> import FilterBar from '../header/filter-bar.vue'; import Releases from '../releases/releases.vue'; async function fetchReleases() { this.releases = await this.$store.dispatch('fetchReleases', { limit: (this.$route.query && this.$route.query.limit && Number(this.$route.query.limit)) || 30, range: this.$route.name, }); } async function route() { await this.fetchReleases(); } async function mounted() { this.pageTitle = ''; await this.fetchReleases(); } export default { components: { FilterBar, Releases, }, data() { return { releases: [], networks: [], pageTitle: null, from: null, }; }, beforeRouteEnter(to, from, next) { next(vm => vm.$set(vm, 'from', from)); }, watch: { $route: route, }, mounted, methods: { fetchReleases, }, }; </script>