Как получить доступ к сервисам перьев из beforeRouteEnter в Vue Components? - PullRequest
0 голосов
/ 18 февраля 2019

Я хочу определить, должен ли загружаться компонент Vue, на основе запрошенного маршрута.

Например, если пользователь переходит на http://todo.example.com/task/123, я хотел бы проверить, является ли 123действительный идентификатор задачи перед загрузкой компонента.Если идентификатор недействителен, я просто перенаправил бы пользователя и не должен был загружать Компонент.

Я знаю, что vue-feathers регистрирует свойство $feathers в компонентах Vue, чтобы иметь возможность доступа к вашим службам Feathers.Но проблема в том, что в методе beforeRouteEnter, предоставленном vue-router, компонент еще не был загружен, и поэтому я не могу получить доступ к своим Сервисам через this.$feathers.

Я также знаю, что смогу получить доступ к экземпляру компонента, передав обратный вызов в функцию next, но это также лишило бы смысл попытки не загружать компонент, если значение task_id недопустимо.

Я надеюсь, что есть более глобальный способ доступа к Службам Перьев.

1 Ответ

0 голосов
/ 19 февраля 2019

Создайте промежуточный компонент, проложите к нему маршрут, а затем выполните $router.replace в зависимости от ваших потребностей.

Затем вы можете использовать $feathers в качестве параметра в вашем замененном маршруте.

...