Javascript Vue.js:将路由器链接添加到为根用户加载的Vue路由器组件
我的vue路由器有点问题。我的路线设置如下:Javascript Vue.js:将路由器链接添加到为根用户加载的Vue路由器组件,javascript,vue.js,vue-router,Javascript,Vue.js,Vue Router,我的vue路由器有点问题。我的路线设置如下: const路由=[ {路径:'/',组件:a}, {路径:'/a',组件:a}, {路径:'/b',组件:b}, {路径:'/c',组件:c} ] 如您所见,我想在页面加载时加载组件a。但我不想在页面加载时将URL更改为/a。但是,我想在与a组件相关的上触发路由器链接活动的-类,即使我仍在/ 我尝试过一些简单的JS,比如: if(window.location.hash==='#/'){ var el=document.querySelector(
const路由=[
{路径:'/',组件:a},
{路径:'/a',组件:a},
{路径:'/b',组件:b},
{路径:'/c',组件:c}
]
如您所见,我想在页面加载时加载组件a
。但我不想在页面加载时将URL更改为/a
。但是,我想在与a
组件相关的
上触发路由器链接活动的
-类,即使我仍在/
我尝试过一些简单的JS,比如:
if(window.location.hash==='#/'){
var el=document.querySelector(“#抽屉列表”).firstElementChild;
el.className+=‘路由器链路激活’;
}
但是,当我单击指向/b
或/c
的链接时,vue没有再次删除该类。你们谁能给我指一下正确的方向吗?试试
它阻止活动类包含匹配行为。这是我的预先回答-请参阅解决方案
我最终做了一些定制的事情,而不是寻求一个本地解决方案。在查看了GitHub上的一些问题之后,我意识到类似这样的东西,尽管它很愚蠢——我承认,在Vue.js中根本不存在
我的解决方案是:添加一个eventlistener,一旦在#drawerMenu
中单击另一个链接,它就会将自身与类一起删除:
HTML结构:
我希望这有助于像我这样的其他人,并且希望这将在某个时候以本机方式内置到Vue中。您可以像这样手动将类绑定到路由器链接
<router-link :class="{'router-link-active': $route.fullPath ==='/' || $route.fullPath === '/a'}" to="/a"></router-link>
最好的解决方案是在根url中使用“精确”
Home
我查看了exact
,但它没有按预期工作。不过,谢谢!哇,这真是太棒了,而且完美无瑕。非常感谢。最好的,最干净的答案仍然存在,谢谢!
<router-link :class="{'router-link-active': $route.fullPath ==='/' || $route.fullPath === '/a'}" to="/a"></router-link>