From 9f921fe136a90dce08670812f2b3b29a70e31b92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Mon, 28 Oct 2019 15:32:24 +0100 Subject: [PATCH] fix(vue-app): add `prefetched` class to `` after chunk loaded (#6623) --- packages/vue-app/template/components/nuxt-link.client.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/vue-app/template/components/nuxt-link.client.js b/packages/vue-app/template/components/nuxt-link.client.js index fe3fdb1bf2..3b17f91b10 100644 --- a/packages/vue-app/template/components/nuxt-link.client.js +++ b/packages/vue-app/template/components/nuxt-link.client.js @@ -92,15 +92,18 @@ export default { // Stop observing this link (in case of internet connection changes) observer.unobserve(this.$el) const Components = this.getPrefetchComponents() + <% if (router.linkPrefetchedClass) { %>const promises = []<% } %> for (const Component of Components) { const componentOrPromise = Component() if (componentOrPromise instanceof Promise) { componentOrPromise.catch(() => {}) + <% if (router.linkPrefetchedClass) { %>promises.push(componentOrPromise)<% } %> } Component.__prefetched = true }<% if (router.linkPrefetchedClass) { %> - this.addPrefetchedClass()<% } %> + return Promise.all(promises).then(() => this.addPrefetchedClass()) + <% } %> }<% if (router.linkPrefetchedClass) { %>, addPrefetchedClass () { if (this.prefetchedClass !== 'false') {