从VueRouter实例访问路由对象

时间:2018-08-14 09:39:05

标签: vue.js vuejs2 vue-router

我正在开发一种小型服务,该服务可以使用当前路线的查询参数。

不幸的是,似乎VueRouter没有route参数,所以我无法访问服务中需要的信息。

import router from "../router";

class QueryParametersService {
    constructor() {
        this.router = router;
    }

    getAll() {
        // Unfortunately, `route` does not exist there
        // but for you, to get the idea, I want to achieve something like this
        return this.router.route.query;
    }
}

当然,路由器已正确实例化并正常工作。有什么方法可以从VueRouter实例中访问当前路由吗?还是有什么方法可以从外部服务访问当前路由?预先谢谢你。

2 个答案:

答案 0 :(得分:1)

使用this。$ route.params.varName

如果加载了vue-router,this。$ route将可用。

答案 1 :(得分:1)

糟糕,我还没有阅读VueRouter's API的全部文档。

当前路线存储在proxy_set_header X-Forwarded-Proto "https";中。

不幸的是,这可能是一种魔术方法,这就是为什么在您控制台登录实例时看不到它的原因。