【发布时间】:2021-08-06 05:58:42
【问题描述】:
我是 Vue 的新手,所以我需要你的帮助。 我有一个菜单组件,我基本上有一个侧边栏菜单。在我的侧边栏菜单中,我列出了不同的导航。我的 html 代码如下所示:
<template>
<menu>
<router-link to="/">
<li>
<div class="Pic">
<img src="Pic1-active” />
</div>
<div class="Name">Home</div>
</li>
</router-link>
<router-link to="/distination2">
<li>
<div class="Pic">
<img src=”pic2-inactive" />
</div>
<div class="Name">Home2</div>
</li>
</router-link>
<router-link to="/distination3">
<li>
<div class="Pic">
<img src=”pic3-inactive" />
</div>
<div class="Name">Home3</div>
</li>
</router-link>
</menu>
</template>
我可以动态更改活动 routerlink 的 css。例如,在我的样式表中,我可以这样做:
menu{
//some styles applied to menu
a{
text-decoration: none;
&.router-link-exact-active{ //these styles are applied only when routerlink is clicked/activated
li {
color: red;
}
}
}
但是,当我单击其中一个链接时,我还希望能够将我的 img 源更改为不同的图片。每个链接我有两张图片。一张图片称为“pic-active”,另一张称为“pic-inactive”,对于第二个routerlink,我有“pic2-active”和“pic2-inactive”等等。有没有办法在单击路由器时动态更改我的图像源?谢谢!
【问题讨论】:
-
活动路由器链接将应用一个类。您可以使用它并根据父类隐藏/显示图像
-
您能详细说明一下吗?我不完全了解使用 routerlink 导航时如何更改图片。对不起,我是初学者..
-
为活动和非活动图像添加一个 img 标签,给它们类名。默认情况下使用
display: none;隐藏活动的img,当父级具有router-link-exact-active类时显示它。对非活动图像执行相反的操作。这有意义吗? -
好的,谢谢!现在更有意义了,我会尝试这样的事情!
标签: javascript html css vue.js