如何从Vue组件中的beforeRouteEnter访问Feather服务?

时间:2019-02-18 20:54:06

标签: vuejs2 vue-router feathersjs

我想根据请求的路线来确定是否应加载Vue组件。

例如,如果用户转到http://todo.example.com/task/123,我想在加载组件之前检查123是否是有效的task_id。如果ID无效,我将直接重定向用户,而不必加载组件。

我知道vue-feathers在Vue组件上注册了$feathers属性,以便能够访问您的羽毛服务。但是问题在于,在beforeRouteEnter提供的vue-router方法中,该组件尚未加载,因此我无法通过this.$feathers访问我的服务。

我也知道我可以通过将回调传递给next函数来访问组件实例,但是如果task_id无效,这也将使尝试不加载组件的目的失效。

我希望有一种更全球化的方式来访问羽毛服务。

1 个答案:

答案 0 :(得分:0)

创建一个中间组件,路由至该组件,然后根据需要进行$router.replace

然后,您可以将$feathers用作替换路径中的参数。