从起始页面隐藏vue路由器

时间:2017-05-21 21:22:51

标签: javascript vue.js

我需要从起始页面隐藏vue-router。

localhost:8080/lp/ <-- hide
localhost:8080/lp/#/page1 <-- show

我尝试使用简单方法和v-if,根据当前路由返回true或false。不幸的是,其他页面具有相同的'/ LP /'路径,因此它们也会隐藏。

<a class="list-group-item" v-link="{ path: '/' }" v-if="!isHomePage()">Home</a>

isHomePage: function() {
  return this.$route.path === '/lp'
}

1 个答案:

答案 0 :(得分:0)

$route.path()仅返回已解析的绝对路径,因此:localhost:8080/lp/localhost:8080/lp/#/page1将同时返回/lp/

看起来$route.fullPath()就是您所需要的。 fullPath()将返回已解析的URL以及查询和哈希。因此,如果您真的在主页(/lp而不是/lp/#/page1),它将只返回/lp

您可以执行以下操作:

<a class="list-group-item" v-link="{ path: '/' }" v-if="$route.fullPath !== '/lp'">Home</a>