VUE路由器:上升一个(可变)级别

时间:2018-12-06 13:14:44

标签: vuejs2 vue-router

似乎没有人在...之前有这个问题? (或者我只是不知道合适的词:D)

我想在我的应用程序的每个页面上都有一个非常基本的标题,以使用户可以“向上”浏览。就这么简单。

示例:用户在page.com/users/browse/上,单击标题,导航到page.com/users/,再次单击,导航到page.com。而已。它只是必须是可变的,所以我可以将其放在组件中并使其可以在任何地方使用

我该怎么做?我尝试了vue。$ route,但是只有一个完整URL的字符串。有什么方便的方法吗?还是我必须用/分割网址并自己建立路线?

谢谢:)

3 个答案:

答案 0 :(得分:1)

此功能的名称为“面包屑”。 检查以下各项:123或在您的框架中查找。

答案 1 :(得分:1)

尝试使用以下命令:this.$router.replace("./");

我不知道它是如何工作的。单点(./)将上升一条路径,双点(../)将上升2条路径!

答案 2 :(得分:0)

尝试通过获取路径的路径然后将其拆分来添加一种用于上一层的方法。这是对我有用的东西:

upOneLevel(){
       var upperPath = this.$route.path.split("/")

       if(upperPath.length > 0)
         upperPath.splice(upperPath.length-1)
         const newPath = upperPath.join("/")
         this.$router.push(newPath)
       }
     }

然后,您可以添加一个调用此方法的按钮,以将其上移一个级别,但不要超过根级别。无论您的路线是否嵌套正确,此方法都将起作用。