Как уничтожить компонент VueJS в методе? - PullRequest
0 голосов
/ 29 сентября 2018

У меня есть приложение VueJS с компонентом вкладок, где пользователь может открывать различные вкладки.Кроме того, я поддерживаю учетные записи пользователей, поэтому у каждого пользователя могут быть свои собственные вкладки.

Но здесь есть одна загвоздка: если я вошел в систему с одним пользователем, то я выхожу из системы и сразу после этого я 'м вход в систему с другим пользователем.В течение секунды (или двух) после входа второго пользователя я могу видеть вкладки, которые есть у предыдущего пользователя, и сразу же они перезаписываются вкладками для второго пользователя.

Итак, как яя могу предотвратить это?Я предполагаю, что это можно сделать способом, когда нажата кнопка «Выйти».

Точнее, у меня есть маршрутизатор и две страницы (LoginPage и MainPage) и с выходом из системы я перенаправлен с маршрутизатором на LoginPage.

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'MainPage',
      component: MainPage
    },
    {
      path: '/login',
      name: 'LoginPage',
      component: LoginPage,
    }
  ]
}

Данные в MainPage поступают при возникновении событий create () и mount (), и я предполагаю, что принудительнокомпоненты, которые будут воссозданы снова, решат мою проблему.Поскольку это не то, что я хочу сохранить от пользователя к пользователю, вместо этого он должен иметь эффект загрузки, как при первом посещении.

1 Ответ

0 голосов
/ 29 сентября 2018

Попробуйте назначить уникальный ключ вашему MainPage компоненту, который привязан к идентификатору вашего пользователя, чтобы заставить его повторно выполнить рендеринг при изменении пользователя.Нечто подобное ..

<main-page :key="user.id" ...>
...