Отправить запрос к серверу до отрисовки сайта vue

Есть необходимость отправить запрос на сервер до отрисовки сайта, так как мне нужно получить данные о пользователе, чтобы допустим посмотреть его права, чтобы не показывать ему некоторые элементы в меню. Сайт у меня на vue. Искал информацию о синхронных запросах, не нашел ничего.(


Ответы (1 шт):

Автор решения: Evgenii

Вы можете использовать заглушку, пока идет запрос, как в данной библиотеке: https://element.eleme.io/#/en-US/component/loading#loading и по итогам загрузки скрывать часть элементов

<template>
        <div v-loading="loading">
           <div v-if="role === 'admin'">
           </div>
        </div>
    </template>
    
    <script>
    export default {
        data () {
            return {
                loading: false,
                role: null
            }
        },
    
        created () {
            this.loadData()
        },
    
        methods: {
            loadData () {
                this.loading = true
    
                return this
                    .$axios({
                        method: "get",
                        url: "...",
                        data: {}
                    })
                    .then((response) => {
                        this.loading = false
                        this.role = response.data.role
                    })
                    .catch((error) => {
                        this.loading = false
                        console.log(error)
                    })
            }
        }
    }
    </script>
                
→ Ссылка