asyncData executed if middleware redirects (client-only)
[issue link]Consider this example:
secret.vue
<template>
<div>Hello, {{user.email}}!</div>
</template>
<script>
import Vue from 'vue'
export default {
middleware: 'authenticated',
async asyncData ({ req }) {
// executes even after the middleware redirects
let { body } = await Vue.http.get('user')
return {
title: 'Secret Page',
user: body
}
},
head () {
return {
title: this.title
}
}
}
</script>
<style>
</style>
middleware/authenticated.js
export default function ({ store, redirect }) {
if (!store.getters.isAuthenticated) {
return redirect('/auth/sign-in')
}
}