async beforeRouteUpdate(to, from, next) {
        let asyncData = this.$options.asyncData;
        if (asyncData) {
            loading.start();
            asyncData.call(this, {
                store: this.$store,
                route: to
            }).then(() => {
                loading.finish();
                next();
            }).catch(next);
        }
        else {
            next();
        }
    }
Add an in-component guard which gets called
when component is reused in the new route.
eg. /detail/1 => /detail/2

@param {Object} to to route
@param {Object} from from route
@param {Function} next next function