我如何以正确的方式获得主动路线?

时间:2019-08-12 11:52:29

标签: vue.js vuejs2 vue-router

我正在使用典型的Vue路由器配置as shown in their guide。我想要的是在router-view之外显示所显示路线的名称。所以我需要问路由器哪个路由是活动的。

我已经found in the router API拥有一个currentRoute属性,我希望该属性可以为我提供活动路径,并且我会读取其名称,然后从那里开始就可以了。

要对此进行测试,我像这样导入了路由器:

import router from '@/router.js';

然后尝试读取活动路由的名称:

data: function(){
    return {
        test: router.currentRoute.name
    }
}

并使用{{ test }}显示它。

看来这是我想要做的事情,但它非常不稳定且不可靠。我在任何地方都没有任何错误,并且路由名称没有显示,并且似乎不起作用。但是然后(有时)如果我更改了组件模板中的某些内容(例如删除元素或添加元素),并且Vue热重新加载了我的应用程序,则出现路由名称并继续工作。从那里,如果我刷新,它将不再出现。

我做错了什么,正确的读取活动路径名称的方法是什么?


子问题

为此使用router.beforeEach是个好主意吗?因为这似乎可以正常工作,但这似乎是错误的方法...

1 个答案:

答案 0 :(得分:1)

  

路由对象表示当前活动路由的状态。它   包含当前URL的解析信息和路由记录   与网址匹配。

Reference

您可以通过ReadableByteChannel rbcObj = Channels.newChannel(urlObj.openStream()); FileOutputStream fOutStream = new FileOutputStream("/myfolder/abc.img"); fOutStream.getChannel().transferFrom(rbcObj, 0, Long.MAX_VALUE); 访问当前路线对象。