簡體   English   中英

當不是子視圖時,在 vue-router 中將嵌套 URL 顯示為活動的

[英]Show nested URL as active in vue-router, when not a child view

我有一個帶有“項目”選項的側邊欄導航。在我的 vue-router 中,我定義了以下路由。

/projects
/projects/:project_id

對於/project這將加載所有項目的列表,並且/projects/:project_id應該只顯示單個項目的詳細信息。 在每種情況下,UI 都充滿了空間,它們之間沒有共享的行為/模板。

我希望邊欄中的“項目”選項顯示為活動狀態,即使用戶位於/projects/:project_id也是如此。

我在這里有什么選擇? 我正在避免嵌套子視圖,因為我不希望/不需要它們之間的共享行為。

你需要 router-link-exact-active

https://github.com/vuejs/rfcs/blob/master/active-rfcs/0028-router-active-link.md#router-link-exact-active

示例: https ://codesandbox.io/s/vue-router-forked-ocxxbl?file=/src/components/Navigation.vue

感謝Paul Tsai讓我意識到這是 Vue 3 特有的問題。 意識到這一點有助於縮小我的搜索范圍,然后我發現了這個:

Vue 3 路由器 - 路由器鏈接活動不工作

其中有一個工作解決方案鏈接,因為router-link-active不再從 URL 計算,而是從路由器本身定義的層次結構計算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM