-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
Home.js
37 lines (34 loc) · 1.1 KB
/
Home.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { mapGetters } from 'vuex'
import EventBus from '@vue-storefront/core/compatibility/plugins/event-bus'
import i18n from '@vue-storefront/i18n'
import Composite from '@vue-storefront/core/mixins/composite'
import { Logger } from '@vue-storefront/core/lib/logger'
export default {
name: 'Home',
mixins: [Composite],
computed: {
...mapGetters('category', ['getCategories']),
rootCategories () {
return this.getCategories
}
},
async asyncData ({ store, route, context }) { // this is for SSR purposes to prefetch data
if (context) context.output.cacheTags.add(`home`)
Logger.info('Calling asyncData in Home Page (core)')()
try {
await EventBus.$emitFilter('home-after-load', { store: store, route: route })
} catch (e) {
Logger.error(e)()
throw e
}
},
beforeMount () {
this.$store.dispatch('category/reset')
},
metaInfo () {
return {
title: this.$route.meta.title || i18n.t('Home Page'),
meta: this.$route.meta.description ? [{ vmid: 'description', name: 'description', content: this.$route.meta.description }] : []
}
}
}