2 回答

TA貢獻1770條經驗 獲得超3個贊
如果你使用的是 Vue Router > 3.1.0,你可以<router-link>為此使用一個作用域插槽:
<router-link
:to="{name:'link-1'}"
v-slot="{ href, route, navigate, isActive, isExactActive }"
>
<li
:class="[isActive && 'active', isExactActive && 'exact-active']"
>
<a :href="href" @click="navigate">Link 1</a>
</li>
</router-link>
<router-link
:to="{name:'link-2'}"
v-slot="{ href, route, navigate, isActive, isExactActive }"
>
<li
:class="[isActive && 'active', isExactActive && 'exact-active']"
>
<a :href="href" @click="navigate">Link 2</a>
</li>
</router-link>
如果您不需要.active
li 元素,<router-link>
請內置此內容。(請參閱 Dan 的 awnswer)

TA貢獻1830條經驗 獲得超9個贊
Vue 路由器提供了這個功能。當鏈接處于活動狀態時,它將應用router-link-exact-active
類。
在你的 CSS 中:
.router-link-exact-active { // styles here }
還有router-link-active
which 會同時匹配“/”和“/link-1”。
添加回答
舉報