Vue: разрешить доступ к странице, только если перенаправлено на программно - PullRequest
0 голосов
/ 21 января 2019

У меня есть маршрут, который отображается после того, как пользователь завершил платеж, например, по URL-адресу /success.Как сделать так, чтобы кто-то не мог просто зайти на example.com/success и посмотреть экран успеха.Вместо этого к нему можно получить доступ только путем запуска this.$router.go('/success/'); в коде.

Спасибо

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Это можно сделать с помощью защитных устройств для маршрутизатора, в частности встроенных защитных элементов .Определив beforeRouteEnter, вы можете проверить (например) магазин, чтобы увидеть, определены ли данные, связанные с платежами.

0 голосов
/ 21 января 2019

Взгляните на Navigation Guards .

Вы можете добавить beforeEnter к маршруту, который вы можете использовать, чтобы проверить, должен ли пользователь получить доступ к странице.

const router = new VueRouter({
  routes: [
    {
      path: '/foo',
      component: Foo,
      beforeEnter: (to, from, next) => {
        // ...
      }
    }
  ]
})
...