我希望,点击一个菜单项,活动类只为该特定项目触发,并删除其他项目,直到现在我写了这样的:
<template>
<nav class="navbar">
<div class="navbar__brand">
<router-link to="/">Stock Trader</router-link>
</div>
<div class="navbar__menu">
<ul class="navbar__menu--list">
<li @click="isActive=!isActive" class="navbar__menu--item" :class="{active:isActive}">
<router-link to="/portfolio">Portfolio</router-link>
</li>
<li @click="isActive=!isActive" class="navbar__menu--item" :class="{active:isActive}">
<router-link to="/stocks">Stocks</router-link>
</li>
</ul>
</div>
<div class="navbar__menu--second">
<ul class="navbar__menu--list">
<li @click="isActive=!isActive" class="navbar__menu--item" :class="{active:isActive}">
<a href="#">End Day</a>
</li>
<li @click="isActive=!isActive" class="navbar__menu--item" :class="{active:isActive}">
<a href="#">Save / Load</a>
</li>
</ul>
</div>
</nav>
</template>
<script>
export default {
data(){
return{
isActive: false
}
}
}
</script>
现在当然,当我点击一个项目时,所有项目的活动类都被插入/移除,什么是最好的解决方案,使只有一个特定的项目,在点击它时,接收活动类?
4条答案
按热度按时间jogvjijk1#
您需要为每个可单击项指定某种标识符,并将其设置为
data
属性。和列表项中(例如)
在本例中,标识符是 “portfolio”,但也可以是任何值,只要您对每个项目使用唯一的值。
pdtvr36n2#
你可以保留一个链接对象,并处理每个项目上的点击。
rryofs0p3#
我在vue3中这样做。模板是:
剧本是
abithluo4#
如果有多个
ul
=〉,请使用title
代替index
。例如:和脚本: