@invex
Верстаю

Как правильно сделать чтобы отображался аватар сразу после входа пользователя?

Можно ли как-то сделать чтобы обновлялся аватар без перезагрузки страницы, сразу после входа пользователя в профиль.
Логика такая что я передаю путь в store к выбранной фотографии через Realtime database (Здесь у меня храниться путь к фотографии пользователя) в файле App.vue в хуке mounted.
mounted() {
        this.$store.state.user = getAuth().currentUser;
        const UID = this.$store.state.user.uid;
        const db = getDatabase();
        const refUsers = ref(db, "users/" + UID);

        onValue(refUsers, (snapshot) => {
          this.$store.state.userPhoto = snapshot.val().photo;
        })
  },

Находится аватар в аpp-bar
<v-app-bar color="white">
    <v-app-bar-nav-icon @click="showBarMenu()" />
    <v-toolbar-title>{{ $store.state.titleToolBar }}</v-toolbar-title>

    <v-avatar :image="$store.state.userPhoto" icon="account_circle" class="v-card--hover"  @click="$router.push('/userProfile')" v-if="userStatus"/>
    <LoginRegister v-else/>

  </v-app-bar>

И при входе нового пользователя отображается либо пустая иконка либо аватар прошлого пользователя.
Как вообще по логике правильно это сделать делать?
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 1
@endorfin
Вместо "$store.state.userPhoto" поставь туда computed поле. Должно сработать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы